package result

var defaultTemplate = `<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ApiCat分析结果页</title>
    <script>
/////////////////template section////////////////
var analysis_result = {{ $ }};
//////////////////////////////////////
    </script>
    <script type="module" crossorigin>
var Oc=Object.defineProperty;var Ac=(e,t,i)=>t in e?Oc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var Z=(e,t,i)=>(Ac(e,typeof t!="symbol"?t+"":t,i),i);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function i(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(s){if(s.ep)return;s.ep=!0;const o=i(s);fetch(s.href,o)}})();function po(e,t){const i=Object.create(null),n=e.split(",");for(let s=0;s<n.length;s++)i[n[s]]=!0;return t?s=>!!i[s.toLowerCase()]:s=>!!i[s]}function Yi(e){if(j(e)){const t={};for(let i=0;i<e.length;i++){const n=e[i],s=Mt(n)?Ec(n):Yi(n);if(s)for(const o in s)t[o]=s[o]}return t}else{if(Mt(e))return e;if(ht(e))return e}}const Tc=/;(?![^(]*\))/g,Dc=/:([^]+)/,Lc=/\/\*.*?\*\//gs;function Ec(e){const t={};return e.replace(Lc,"").split(Tc).forEach(i=>{if(i){const n=i.split(Dc);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function rn(e){let t="";if(Mt(e))t=e;else if(j(e))for(let i=0;i<e.length;i++){const n=rn(e[i]);n&&(t+=n+" ")}else if(ht(e))for(const i in e)e[i]&&(t+=i+" ");return t.trim()}const Ic="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Rc=po(Ic);function $a(e){return!!e||e===""}function Fc(e,t){if(e.length!==t.length)return!1;let i=!0;for(let n=0;i&&n<e.length;n++)i=ls(e[n],t[n]);return i}function ls(e,t){if(e===t)return!0;let i=ir(e),n=ir(t);if(i||n)return i&&n?e.getTime()===t.getTime():!1;if(i=Ki(e),n=Ki(t),i||n)return e===t;if(i=j(e),n=j(t),i||n)return i&&n?Fc(e,t):!1;if(i=ht(e),n=ht(t),i||n){if(!i||!n)return!1;const s=Object.keys(e).length,o=Object.keys(t).length;if(s!==o)return!1;for(const r in e){const a=e.hasOwnProperty(r),l=t.hasOwnProperty(r);if(a&&!l||!a&&l||!ls(e[r],t[r]))return!1}}return String(e)===String(t)}function Bc(e,t){return e.findIndex(i=>ls(i,t))}const St=e=>Mt(e)?e:e==null?"":j(e)||ht(e)&&(e.toString===Ya||!Y(e.toString))?JSON.stringify(e,Va,2):String(e),Va=(e,t)=>t&&t.__v_isRef?Va(e,t.value):hi(t)?{[`+"`"+`Map(${t.size})`+"`"+`]:[...t.entries()].reduce((i,[n,s])=>(i[`+"`"+`${n} =>`+"`"+`]=s,i),{})}:hs(t)?{[`+"`"+`Set(${t.size})`+"`"+`]:[...t.values()]}:ht(t)&&!j(t)&&!Ka(t)?String(t):t,ft={},ci=[],ie=()=>{},Hc=()=>!1,zc=/^on[^a-z]/,cs=e=>zc.test(e),mo=e=>e.startsWith("onUpdate:"),Et=Object.assign,bo=(e,t)=>{const i=e.indexOf(t);i>-1&&e.splice(i,1)},Nc=Object.prototype.hasOwnProperty,Q=(e,t)=>Nc.call(e,t),j=Array.isArray,hi=e=>an(e)==="[object Map]",hs=e=>an(e)==="[object Set]",ir=e=>an(e)==="[object Date]",Y=e=>typeof e=="function",Mt=e=>typeof e=="string",Ki=e=>typeof e=="symbol",ht=e=>e!==null&&typeof e=="object",Ua=e=>ht(e)&&Y(e.then)&&Y(e.catch),Ya=Object.prototype.toString,an=e=>Ya.call(e),jc=e=>an(e).slice(8,-1),Ka=e=>an(e)==="[object Object]",_o=e=>Mt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ln=po(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),fs=e=>{const t=Object.create(null);return i=>t[i]||(t[i]=e(i))},Wc=/-(\w)/g,bi=fs(e=>e.replace(Wc,(t,i)=>i?i.toUpperCase():"")),$c=/\B([A-Z])/g,Mi=fs(e=>e.replace($c,"-$1").toLowerCase()),Xa=fs(e=>e.charAt(0).toUpperCase()+e.slice(1)),Os=fs(e=>e?`+"`"+`on${Xa(e)}`+"`"+`:""),Xi=(e,t)=>!Object.is(e,t),En=(e,t)=>{for(let i=0;i<e.length;i++)e[i](t)},Nn=(e,t,i)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:i})},xo=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let nr;const Vc=()=>nr||(nr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let re;class Uc{constructor(t=!1){this.detached=t,this.active=!0,this.effects=[],this.cleanups=[],this.parent=re,!t&&re&&(this.index=(re.scopes||(re.scopes=[])).push(this)-1)}run(t){if(this.active){const i=re;try{return re=this,t()}finally{re=i}}}on(){re=this}off(){re=this.parent}stop(t){if(this.active){let i,n;for(i=0,n=this.effects.length;i<n;i++)this.effects[i].stop();for(i=0,n=this.cleanups.length;i<n;i++)this.cleanups[i]();if(this.scopes)for(i=0,n=this.scopes.length;i<n;i++)this.scopes[i].stop(!0);if(!this.detached&&this.parent&&!t){const s=this.parent.scopes.pop();s&&s!==this&&(this.parent.scopes[this.index]=s,s.index=this.index)}this.parent=void 0,this.active=!1}}}function Yc(e,t=re){t&&t.active&&t.effects.push(e)}const yo=e=>{const t=new Set(e);return t.w=0,t.n=0,t},qa=e=>(e.w&De)>0,Za=e=>(e.n&De)>0,Kc=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=De},Xc=e=>{const{deps:t}=e;if(t.length){let i=0;for(let n=0;n<t.length;n++){const s=t[n];qa(s)&&!Za(s)?s.delete(e):t[i++]=s,s.w&=~De,s.n&=~De}t.length=i}},Us=new WeakMap;let Ei=0,De=1;const Ys=30;let te;const Ze=Symbol(""),Ks=Symbol("");class vo{constructor(t,i=null,n){this.fn=t,this.scheduler=i,this.active=!0,this.deps=[],this.parent=void 0,Yc(this,n)}run(){if(!this.active)return this.fn();let t=te,i=Pe;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=te,te=this,Pe=!0,De=1<<++Ei,Ei<=Ys?Kc(this):sr(this),this.fn()}finally{Ei<=Ys&&Xc(this),De=1<<--Ei,te=this.parent,Pe=i,this.parent=void 0,this.deferStop&&this.stop()}}stop(){te===this?this.deferStop=!0:this.active&&(sr(this),this.onStop&&this.onStop(),this.active=!1)}}function sr(e){const{deps:t}=e;if(t.length){for(let i=0;i<t.length;i++)t[i].delete(e);t.length=0}}let Pe=!0;const Ja=[];function ki(){Ja.push(Pe),Pe=!1}function Ci(){const e=Ja.pop();Pe=e===void 0?!0:e}function Vt(e,t,i){if(Pe&&te){let n=Us.get(e);n||Us.set(e,n=new Map);let s=n.get(i);s||n.set(i,s=yo()),Qa(s)}}function Qa(e,t){let i=!1;Ei<=Ys?Za(e)||(e.n|=De,i=!qa(e)):i=!e.has(te),i&&(e.add(te),te.deps.push(e))}function _e(e,t,i,n,s,o){const r=Us.get(e);if(!r)return;let a=[];if(t==="clear")a=[...r.values()];else if(i==="length"&&j(e)){const l=xo(n);r.forEach((c,h)=>{(h==="length"||h>=l)&&a.push(c)})}else switch(i!==void 0&&a.push(r.get(i)),t){case"add":j(e)?_o(i)&&a.push(r.get("length")):(a.push(r.get(Ze)),hi(e)&&a.push(r.get(Ks)));break;case"delete":j(e)||(a.push(r.get(Ze)),hi(e)&&a.push(r.get(Ks)));break;case"set":hi(e)&&a.push(r.get(Ze));break}if(a.length===1)a[0]&&Xs(a[0]);else{const l=[];for(const c of a)c&&l.push(...c);Xs(yo(l))}}function Xs(e,t){const i=j(e)?e:[...e];for(const n of i)n.computed&&or(n);for(const n of i)n.computed||or(n)}function or(e,t){(e!==te||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const qc=po("__proto__,__v_isRef,__isVue"),Ga=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ki)),Zc=wo(),Jc=wo(!1,!0),Qc=wo(!0),rr=Gc();function Gc(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...i){const n=X(this);for(let o=0,r=this.length;o<r;o++)Vt(n,"get",o+"");const s=n[t](...i);return s===-1||s===!1?n[t](...i.map(X)):s}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...i){ki();const n=X(this)[t].apply(this,i);return Ci(),n}}),e}function wo(e=!1,t=!1){return function(n,s,o){if(s==="__v_isReactive")return!e;if(s==="__v_isReadonly")return e;if(s==="__v_isShallow")return t;if(s==="__v_raw"&&o===(e?t?ph:sl:t?nl:il).get(n))return n;const r=j(n);if(!e&&r&&Q(rr,s))return Reflect.get(rr,s,o);const a=Reflect.get(n,s,o);return(Ki(s)?Ga.has(s):qc(s))||(e||Vt(n,"get",s),t)?a:Dt(a)?r&&_o(s)?a:a.value:ht(a)?e?ol(a):ds(a):a}}const th=tl(),eh=tl(!0);function tl(e=!1){return function(i,n,s,o){let r=i[n];if(_i(r)&&Dt(r)&&!Dt(s))return!1;if(!e&&(!jn(s)&&!_i(s)&&(r=X(r),s=X(s)),!j(i)&&Dt(r)&&!Dt(s)))return r.value=s,!0;const a=j(i)&&_o(n)?Number(n)<i.length:Q(i,n),l=Reflect.set(i,n,s,o);return i===X(o)&&(a?Xi(s,r)&&_e(i,"set",n,s):_e(i,"add",n,s)),l}}function ih(e,t){const i=Q(e,t);e[t];const n=Reflect.deleteProperty(e,t);return n&&i&&_e(e,"delete",t,void 0),n}function nh(e,t){const i=Reflect.has(e,t);return(!Ki(t)||!Ga.has(t))&&Vt(e,"has",t),i}function sh(e){return Vt(e,"iterate",j(e)?"length":Ze),Reflect.ownKeys(e)}const el={get:Zc,set:th,deleteProperty:ih,has:nh,ownKeys:sh},oh={get:Qc,set(e,t){return!0},deleteProperty(e,t){return!0}},rh=Et({},el,{get:Jc,set:eh}),Mo=e=>e,us=e=>Reflect.getPrototypeOf(e);function fn(e,t,i=!1,n=!1){e=e.__v_raw;const s=X(e),o=X(t);i||(t!==o&&Vt(s,"get",t),Vt(s,"get",o));const{has:r}=us(s),a=n?Mo:i?So:qi;if(r.call(s,t))return a(e.get(t));if(r.call(s,o))return a(e.get(o));e!==s&&e.get(t)}function un(e,t=!1){const i=this.__v_raw,n=X(i),s=X(e);return t||(e!==s&&Vt(n,"has",e),Vt(n,"has",s)),e===s?i.has(e):i.has(e)||i.has(s)}function dn(e,t=!1){return e=e.__v_raw,!t&&Vt(X(e),"iterate",Ze),Reflect.get(e,"size",e)}function ar(e){e=X(e);const t=X(this);return us(t).has.call(t,e)||(t.add(e),_e(t,"add",e,e)),this}function lr(e,t){t=X(t);const i=X(this),{has:n,get:s}=us(i);let o=n.call(i,e);o||(e=X(e),o=n.call(i,e));const r=s.call(i,e);return i.set(e,t),o?Xi(t,r)&&_e(i,"set",e,t):_e(i,"add",e,t),this}function cr(e){const t=X(this),{has:i,get:n}=us(t);let s=i.call(t,e);s||(e=X(e),s=i.call(t,e)),n&&n.call(t,e);const o=t.delete(e);return s&&_e(t,"delete",e,void 0),o}function hr(){const e=X(this),t=e.size!==0,i=e.clear();return t&&_e(e,"clear",void 0,void 0),i}function gn(e,t){return function(n,s){const o=this,r=o.__v_raw,a=X(r),l=t?Mo:e?So:qi;return!e&&Vt(a,"iterate",Ze),r.forEach((c,h)=>n.call(s,l(c),l(h),o))}}function pn(e,t,i){return function(...n){const s=this.__v_raw,o=X(s),r=hi(o),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=s[e](...n),h=i?Mo:t?So:qi;return!t&&Vt(o,"iterate",l?Ks:Ze),{next(){const{value:f,done:u}=c.next();return u?{value:f,done:u}:{value:a?[h(f[0]),h(f[1])]:h(f),done:u}},[Symbol.iterator](){return this}}}}function ve(e){return function(...t){return e==="delete"?!1:this}}function ah(){const e={get(o){return fn(this,o)},get size(){return dn(this)},has:un,add:ar,set:lr,delete:cr,clear:hr,forEach:gn(!1,!1)},t={get(o){return fn(this,o,!1,!0)},get size(){return dn(this)},has:un,add:ar,set:lr,delete:cr,clear:hr,forEach:gn(!1,!0)},i={get(o){return fn(this,o,!0)},get size(){return dn(this,!0)},has(o){return un.call(this,o,!0)},add:ve("add"),set:ve("set"),delete:ve("delete"),clear:ve("clear"),forEach:gn(!0,!1)},n={get(o){return fn(this,o,!0,!0)},get size(){return dn(this,!0)},has(o){return un.call(this,o,!0)},add:ve("add"),set:ve("set"),delete:ve("delete"),clear:ve("clear"),forEach:gn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=pn(o,!1,!1),i[o]=pn(o,!0,!1),t[o]=pn(o,!1,!0),n[o]=pn(o,!0,!0)}),[e,i,t,n]}const[lh,ch,hh,fh]=ah();function ko(e,t){const i=t?e?fh:hh:e?ch:lh;return(n,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(Q(i,s)&&s in n?i:n,s,o)}const uh={get:ko(!1,!1)},dh={get:ko(!1,!0)},gh={get:ko(!0,!1)},il=new WeakMap,nl=new WeakMap,sl=new WeakMap,ph=new WeakMap;function mh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function bh(e){return e.__v_skip||!Object.isExtensible(e)?0:mh(jc(e))}function ds(e){return _i(e)?e:Co(e,!1,el,uh,il)}function _h(e){return Co(e,!1,rh,dh,nl)}function ol(e){return Co(e,!0,oh,gh,sl)}function Co(e,t,i,n,s){if(!ht(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const r=bh(e);if(r===0)return e;const a=new Proxy(e,r===2?n:i);return s.set(e,a),a}function fi(e){return _i(e)?fi(e.__v_raw):!!(e&&e.__v_isReactive)}function _i(e){return!!(e&&e.__v_isReadonly)}function jn(e){return!!(e&&e.__v_isShallow)}function zi(e){return fi(e)||_i(e)}function X(e){const t=e&&e.__v_raw;return t?X(t):e}function rl(e){return Nn(e,"__v_skip",!0),e}const qi=e=>ht(e)?ds(e):e,So=e=>ht(e)?ol(e):e;function al(e){Pe&&te&&(e=X(e),Qa(e.dep||(e.dep=yo())))}function ll(e,t){e=X(e),e.dep&&Xs(e.dep)}function Dt(e){return!!(e&&e.__v_isRef===!0)}function Gt(e){return cl(e,!1)}function xh(e){return cl(e,!0)}function cl(e,t){return Dt(e)?e:new yh(e,t)}class yh{constructor(t,i){this.__v_isShallow=i,this.dep=void 0,this.__v_isRef=!0,this._rawValue=i?t:X(t),this._value=i?t:qi(t)}get value(){return al(this),this._value}set value(t){const i=this.__v_isShallow||jn(t)||_i(t);t=i?t:X(t),Xi(t,this._rawValue)&&(this._rawValue=t,this._value=i?t:qi(t),ll(this))}}function Bt(e){return Dt(e)?e.value:e}const vh={get:(e,t,i)=>Bt(Reflect.get(e,t,i)),set:(e,t,i,n)=>{const s=e[t];return Dt(s)&&!Dt(i)?(s.value=i,!0):Reflect.set(e,t,i,n)}};function hl(e){return fi(e)?e:new Proxy(e,vh)}var fl;class wh{constructor(t,i,n,s){this._setter=i,this.dep=void 0,this.__v_isRef=!0,this[fl]=!1,this._dirty=!0,this.effect=new vo(t,()=>{this._dirty||(this._dirty=!0,ll(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=n}get value(){const t=X(this);return al(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}fl="__v_isReadonly";function Wn(e,t,i=!1){let n,s;const o=Y(e);return o?(n=e,s=ie):(n=e.get,s=e.set),new wh(n,s,o||!s,i)}function Oe(e,t,i,n){let s;try{s=n?e(...n):e()}catch(o){gs(o,t,i)}return s}function qt(e,t,i,n){if(Y(e)){const o=Oe(e,t,i,n);return o&&Ua(o)&&o.catch(r=>{gs(r,t,i)}),o}const s=[];for(let o=0;o<e.length;o++)s.push(qt(e[o],t,i,n));return s}function gs(e,t,i,n=!0){const s=t?t.vnode:null;if(t){let o=t.parent;const r=t.proxy,a=i;for(;o;){const c=o.ec;if(c){for(let h=0;h<c.length;h++)if(c[h](e,r,a)===!1)return}o=o.parent}const l=t.appContext.config.errorHandler;if(l){Oe(l,null,10,[e,r,a]);return}}Mh(e,i,s,n)}function Mh(e,t,i,n=!0){console.error(e)}let Zi=!1,qs=!1;const Tt=[];let fe=0;const ui=[];let me=null,Ye=0;const ul=Promise.resolve();let Po=null;function kh(e){const t=Po||ul;return e?t.then(this?e.bind(this):e):t}function Ch(e){let t=fe+1,i=Tt.length;for(;t<i;){const n=t+i>>>1;Ji(Tt[n])<e?t=n+1:i=n}return t}function Oo(e){(!Tt.length||!Tt.includes(e,Zi&&e.allowRecurse?fe+1:fe))&&(e.id==null?Tt.push(e):Tt.splice(Ch(e.id),0,e),dl())}function dl(){!Zi&&!qs&&(qs=!0,Po=ul.then(pl))}function Sh(e){const t=Tt.indexOf(e);t>fe&&Tt.splice(t,1)}function Ph(e){j(e)?ui.push(...e):(!me||!me.includes(e,e.allowRecurse?Ye+1:Ye))&&ui.push(e),dl()}function fr(e,t=Zi?fe+1:0){for(;t<Tt.length;t++){const i=Tt[t];i&&i.pre&&(Tt.splice(t,1),t--,i())}}function gl(e){if(ui.length){const t=[...new Set(ui)];if(ui.length=0,me){me.push(...t);return}for(me=t,me.sort((i,n)=>Ji(i)-Ji(n)),Ye=0;Ye<me.length;Ye++)me[Ye]();me=null,Ye=0}}const Ji=e=>e.id==null?1/0:e.id,Oh=(e,t)=>{const i=Ji(e)-Ji(t);if(i===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return i};function pl(e){qs=!1,Zi=!0,Tt.sort(Oh);const t=ie;try{for(fe=0;fe<Tt.length;fe++){const i=Tt[fe];i&&i.active!==!1&&Oe(i,null,14)}}finally{fe=0,Tt.length=0,gl(),Zi=!1,Po=null,(Tt.length||ui.length)&&pl()}}function Ah(e,t,...i){if(e.isUnmounted)return;const n=e.vnode.props||ft;let s=i;const o=t.startsWith("update:"),r=o&&t.slice(7);if(r&&r in n){const h=`+"`"+`${r==="modelValue"?"model":r}Modifiers`+"`"+`,{number:f,trim:u}=n[h]||ft;u&&(s=i.map(d=>Mt(d)?d.trim():d)),f&&(s=i.map(xo))}let a,l=n[a=Os(t)]||n[a=Os(bi(t))];!l&&o&&(l=n[a=Os(Mi(t))]),l&&qt(l,e,6,s);const c=n[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,qt(c,e,6,s)}}function ml(e,t,i=!1){const n=t.emitsCache,s=n.get(e);if(s!==void 0)return s;const o=e.emits;let r={},a=!1;if(!Y(e)){const l=c=>{const h=ml(c,t,!0);h&&(a=!0,Et(r,h))};!i&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(ht(e)&&n.set(e,null),null):(j(o)?o.forEach(l=>r[l]=null):Et(r,o),ht(e)&&n.set(e,r),r)}function ps(e,t){return!e||!cs(t)?!1:(t=t.slice(2).replace(/Once$/,""),Q(e,t[0].toLowerCase()+t.slice(1))||Q(e,Mi(t))||Q(e,t))}let Lt=null,ms=null;function $n(e){const t=Lt;return Lt=e,ms=e&&e.type.__scopeId||null,t}function bl(e){ms=e}function _l(){ms=null}function At(e,t=Lt,i){if(!t||e._n)return e;const n=(...s)=>{n._d&&yr(-1);const o=$n(t);let r;try{r=e(...s)}finally{$n(o),n._d&&yr(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function As(e){const{type:t,vnode:i,proxy:n,withProxy:s,props:o,propsOptions:[r],slots:a,attrs:l,emit:c,render:h,renderCache:f,data:u,setupState:d,ctx:_,inheritAttrs:p}=e;let m,x;const w=$n(e);try{if(i.shapeFlag&4){const P=s||n;m=he(h.call(P,P,f,o,d,u,_)),x=l}else{const P=t;m=he(P.length>1?P(o,{attrs:l,slots:a,emit:c}):P(o,null)),x=t.props?l:Th(l)}}catch(P){Wi.length=0,gs(P,e,1),m=nt(Zt)}let y=m;if(x&&p!==!1){const P=Object.keys(x),{shapeFlag:S}=y;P.length&&S&7&&(r&&P.some(mo)&&(x=Dh(x,r)),y=Le(y,x))}return i.dirs&&(y=Le(y),y.dirs=y.dirs?y.dirs.concat(i.dirs):i.dirs),i.transition&&(y.transition=i.transition),m=y,$n(w),m}const Th=e=>{let t;for(const i in e)(i==="class"||i==="style"||cs(i))&&((t||(t={}))[i]=e[i]);return t},Dh=(e,t)=>{const i={};for(const n in e)(!mo(n)||!(n.slice(9)in t))&&(i[n]=e[n]);return i};function Lh(e,t,i){const{props:n,children:s,component:o}=e,{props:r,children:a,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(i&&l>=0){if(l&1024)return!0;if(l&16)return n?ur(n,r,c):!!r;if(l&8){const h=t.dynamicProps;for(let f=0;f<h.length;f++){const u=h[f];if(r[u]!==n[u]&&!ps(c,u))return!0}}}else return(s||a)&&(!a||!a.$stable)?!0:n===r?!1:n?r?ur(n,r,c):!0:!!r;return!1}function ur(e,t,i){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let s=0;s<n.length;s++){const o=n[s];if(t[o]!==e[o]&&!ps(i,o))return!0}return!1}function Eh({vnode:e,parent:t},i){for(;t&&t.subTree===e;)(e=t.vnode).el=i,t=t.parent}const Ih=e=>e.__isSuspense;function Rh(e,t){t&&t.pendingBranch?j(e)?t.effects.push(...e):t.effects.push(e):Ph(e)}function Ao(e,t){if(Pt){let i=Pt.provides;const n=Pt.parent&&Pt.parent.provides;n===i&&(i=Pt.provides=Object.create(n)),i[e]=t}}function di(e,t,i=!1){const n=Pt||Lt;if(n){const s=n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides;if(s&&e in s)return s[e];if(arguments.length>1)return i&&Y(t)?t.call(n.proxy):t}}const mn={};function Ae(e,t,i){return xl(e,t,i)}function xl(e,t,{immediate:i,deep:n,flush:s,onTrack:o,onTrigger:r}=ft){const a=Pt;let l,c=!1,h=!1;if(Dt(e)?(l=()=>e.value,c=jn(e)):fi(e)?(l=()=>e,n=!0):j(e)?(h=!0,c=e.some(y=>fi(y)||jn(y)),l=()=>e.map(y=>{if(Dt(y))return y.value;if(fi(y))return qe(y);if(Y(y))return Oe(y,a,2)})):Y(e)?t?l=()=>Oe(e,a,2):l=()=>{if(!(a&&a.isUnmounted))return f&&f(),qt(e,a,3,[u])}:l=ie,t&&n){const y=l;l=()=>qe(y())}let f,u=y=>{f=x.onStop=()=>{Oe(y,a,4)}},d;if(tn)if(u=ie,t?i&&qt(t,a,3,[l(),h?[]:void 0,u]):l(),s==="sync"){const y=Of();d=y.__watcherHandles||(y.__watcherHandles=[])}else return ie;let _=h?new Array(e.length).fill(mn):mn;const p=()=>{if(!!x.active)if(t){const y=x.run();(n||c||(h?y.some((P,S)=>Xi(P,_[S])):Xi(y,_)))&&(f&&f(),qt(t,a,3,[y,_===mn?void 0:h&&_[0]===mn?[]:_,u]),_=y)}else x.run()};p.allowRecurse=!!t;let m;s==="sync"?m=p:s==="post"?m=()=>zt(p,a&&a.suspense):(p.pre=!0,a&&(p.id=a.uid),m=()=>Oo(p));const x=new vo(l,m);t?i?p():_=x.run():s==="post"?zt(x.run.bind(x),a&&a.suspense):x.run();const w=()=>{x.stop(),a&&a.scope&&bo(a.scope.effects,x)};return d&&d.push(w),w}function Fh(e,t,i){const n=this.proxy,s=Mt(e)?e.includes(".")?yl(n,e):()=>n[e]:e.bind(n,n);let o;Y(t)?o=t:(o=t.handler,i=t);const r=Pt;yi(this);const a=xl(s,o.bind(n),i);return r?yi(r):Qe(),a}function yl(e,t){const i=t.split(".");return()=>{let n=e;for(let s=0;s<i.length&&n;s++)n=n[i[s]];return n}}function qe(e,t){if(!ht(e)||e.__v_skip||(t=t||new Set,t.has(e)))return e;if(t.add(e),Dt(e))qe(e.value,t);else if(j(e))for(let i=0;i<e.length;i++)qe(e[i],t);else if(hs(e)||hi(e))e.forEach(i=>{qe(i,t)});else if(Ka(e))for(const i in e)qe(e[i],t);return e}function Bh(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Do(()=>{e.isMounted=!0}),Lo(()=>{e.isUnmounting=!0}),e}const Yt=[Function,Array],Hh={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Yt,onEnter:Yt,onAfterEnter:Yt,onEnterCancelled:Yt,onBeforeLeave:Yt,onLeave:Yt,onAfterLeave:Yt,onLeaveCancelled:Yt,onBeforeAppear:Yt,onAppear:Yt,onAfterAppear:Yt,onAppearCancelled:Yt},setup(e,{slots:t}){const i=Bl(),n=Bh();let s;return()=>{const o=t.default&&wl(t.default(),!0);if(!o||!o.length)return;let r=o[0];if(o.length>1){for(const p of o)if(p.type!==Zt){r=p;break}}const a=X(e),{mode:l}=a;if(n.isLeaving)return Ts(r);const c=dr(r);if(!c)return Ts(r);const h=Zs(c,a,n,i);Js(c,h);const f=i.subTree,u=f&&dr(f);let d=!1;const{getTransitionKey:_}=c.type;if(_){const p=_();s===void 0?s=p:p!==s&&(s=p,d=!0)}if(u&&u.type!==Zt&&(!Ke(c,u)||d)){const p=Zs(u,a,n,i);if(Js(u,p),l==="out-in")return n.isLeaving=!0,p.afterLeave=()=>{n.isLeaving=!1,i.update.active!==!1&&i.update()},Ts(r);l==="in-out"&&c.type!==Zt&&(p.delayLeave=(m,x,w)=>{const y=vl(n,u);y[String(u.key)]=u,m._leaveCb=()=>{x(),m._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=w})}return r}}},zh=Hh;function vl(e,t){const{leavingVNodes:i}=e;let n=i.get(t.type);return n||(n=Object.create(null),i.set(t.type,n)),n}function Zs(e,t,i,n){const{appear:s,mode:o,persisted:r=!1,onBeforeEnter:a,onEnter:l,onAfterEnter:c,onEnterCancelled:h,onBeforeLeave:f,onLeave:u,onAfterLeave:d,onLeaveCancelled:_,onBeforeAppear:p,onAppear:m,onAfterAppear:x,onAppearCancelled:w}=t,y=String(e.key),P=vl(i,e),S=(T,B)=>{T&&qt(T,n,9,B)},E=(T,B)=>{const F=B[1];S(T,B),j(T)?T.every(N=>N.length<=1)&&F():T.length<=1&&F()},R={mode:o,persisted:r,beforeEnter(T){let B=a;if(!i.isMounted)if(s)B=p||a;else return;T._leaveCb&&T._leaveCb(!0);const F=P[y];F&&Ke(e,F)&&F.el._leaveCb&&F.el._leaveCb(),S(B,[T])},enter(T){let B=l,F=c,N=h;if(!i.isMounted)if(s)B=m||l,F=x||c,N=w||h;else return;let V=!1;const rt=T._enterCb=yt=>{V||(V=!0,yt?S(N,[T]):S(F,[T]),R.delayedLeave&&R.delayedLeave(),T._enterCb=void 0)};B?E(B,[T,rt]):rt()},leave(T,B){const F=String(e.key);if(T._enterCb&&T._enterCb(!0),i.isUnmounting)return B();S(f,[T]);let N=!1;const V=T._leaveCb=rt=>{N||(N=!0,B(),rt?S(_,[T]):S(d,[T]),T._leaveCb=void 0,P[F]===e&&delete P[F])};P[F]=e,u?E(u,[T,V]):V()},clone(T){return Zs(T,t,i,n)}};return R}function Ts(e){if(bs(e))return e=Le(e),e.children=null,e}function dr(e){return bs(e)?e.children?e.children[0]:void 0:e}function Js(e,t){e.shapeFlag&6&&e.component?Js(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function wl(e,t=!1,i){let n=[],s=0;for(let o=0;o<e.length;o++){let r=e[o];const a=i==null?r.key:String(i)+String(r.key!=null?r.key:o);r.type===vt?(r.patchFlag&128&&s++,n=n.concat(wl(r.children,t,a))):(t||r.type!==Zt)&&n.push(a!=null?Le(r,{key:a}):r)}if(s>1)for(let o=0;o<n.length;o++)n[o].patchFlag=-2;return n}function Nh(e){return Y(e)?{setup:e,name:e.name}:e}const Ni=e=>!!e.type.__asyncLoader,bs=e=>e.type.__isKeepAlive;function jh(e,t){Ml(e,"a",t)}function Wh(e,t){Ml(e,"da",t)}function Ml(e,t,i=Pt){const n=e.__wdc||(e.__wdc=()=>{let s=i;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(_s(t,n,i),i){let s=i.parent;for(;s&&s.parent;)bs(s.parent.vnode)&&$h(n,t,i,s),s=s.parent}}function $h(e,t,i,n){const s=_s(t,e,n,!0);kl(()=>{bo(n[t],s)},i)}function _s(e,t,i=Pt,n=!1){if(i){const s=i[e]||(i[e]=[]),o=t.__weh||(t.__weh=(...r)=>{if(i.isUnmounted)return;ki(),yi(i);const a=qt(t,i,e,r);return Qe(),Ci(),a});return n?s.unshift(o):s.push(o),o}}const xe=e=>(t,i=Pt)=>(!tn||e==="sp")&&_s(e,(...n)=>t(...n),i),To=xe("bm"),Do=xe("m"),Vh=xe("bu"),Uh=xe("u"),Lo=xe("bum"),kl=xe("um"),Yh=xe("sp"),Kh=xe("rtg"),Xh=xe("rtc");function qh(e,t=Pt){_s("ec",e,t)}function Cl(e,t){const i=Lt;if(i===null)return e;const n=vs(i)||i.proxy,s=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[r,a,l,c=ft]=t[o];r&&(Y(r)&&(r={mounted:r,updated:r}),r.deep&&qe(a),s.push({dir:r,instance:n,value:a,oldValue:void 0,arg:l,modifiers:c}))}return e}function He(e,t,i,n){const s=e.dirs,o=t&&t.dirs;for(let r=0;r<s.length;r++){const a=s[r];o&&(a.oldValue=o[r].value);let l=a.dir[n];l&&(ki(),qt(l,i,8,[e.el,a,e,t]),Ci())}}const Zh=Symbol();function Qi(e,t,i,n){let s;const o=i&&i[n];if(j(e)||Mt(e)){s=new Array(e.length);for(let r=0,a=e.length;r<a;r++)s[r]=t(e[r],r,void 0,o&&o[r])}else if(typeof e=="number"){s=new Array(e);for(let r=0;r<e;r++)s[r]=t(r+1,r,void 0,o&&o[r])}else if(ht(e))if(e[Symbol.iterator])s=Array.from(e,(r,a)=>t(r,a,void 0,o&&o[a]));else{const r=Object.keys(e);s=new Array(r.length);for(let a=0,l=r.length;a<l;a++){const c=r[a];s[a]=t(e[c],c,a,o&&o[a])}}else s=[];return i&&(i[n]=s),s}function xi(e,t,i={},n,s){if(Lt.isCE||Lt.parent&&Ni(Lt.parent)&&Lt.parent.isCE)return t!=="default"&&(i.name=t),nt("slot",i,n&&n());let o=e[t];o&&o._c&&(o._d=!1),G();const r=o&&Sl(o(i)),a=ti(vt,{key:i.key||r&&r.key||`+"`"+`_${t}`+"`"+`},r||(n?n():[]),r&&e._===1?64:-2);return!s&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),o&&o._c&&(o._d=!0),a}function Sl(e){return e.some(t=>Un(t)?!(t.type===Zt||t.type===vt&&!Sl(t.children)):!0)?e:null}const Qs=e=>e?Hl(e)?vs(e)||e.proxy:Qs(e.parent):null,ji=Et(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Qs(e.parent),$root:e=>Qs(e.root),$emit:e=>e.emit,$options:e=>Eo(e),$forceUpdate:e=>e.f||(e.f=()=>Oo(e.update)),$nextTick:e=>e.n||(e.n=kh.bind(e.proxy)),$watch:e=>Fh.bind(e)}),Ds=(e,t)=>e!==ft&&!e.__isScriptSetup&&Q(e,t),Jh={get({_:e},t){const{ctx:i,setupState:n,data:s,props:o,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const d=r[t];if(d!==void 0)switch(d){case 1:return n[t];case 2:return s[t];case 4:return i[t];case 3:return o[t]}else{if(Ds(n,t))return r[t]=1,n[t];if(s!==ft&&Q(s,t))return r[t]=2,s[t];if((c=e.propsOptions[0])&&Q(c,t))return r[t]=3,o[t];if(i!==ft&&Q(i,t))return r[t]=4,i[t];Gs&&(r[t]=0)}}const h=ji[t];let f,u;if(h)return t==="$attrs"&&Vt(e,"get",t),h(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(i!==ft&&Q(i,t))return r[t]=4,i[t];if(u=l.config.globalProperties,Q(u,t))return u[t]},set({_:e},t,i){const{data:n,setupState:s,ctx:o}=e;return Ds(s,t)?(s[t]=i,!0):n!==ft&&Q(n,t)?(n[t]=i,!0):Q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=i,!0)},has({_:{data:e,setupState:t,accessCache:i,ctx:n,appContext:s,propsOptions:o}},r){let a;return!!i[r]||e!==ft&&Q(e,r)||Ds(t,r)||(a=o[0])&&Q(a,r)||Q(n,r)||Q(ji,r)||Q(s.config.globalProperties,r)},defineProperty(e,t,i){return i.get!=null?e._.accessCache[t]=0:Q(i,"value")&&this.set(e,t,i.value,null),Reflect.defineProperty(e,t,i)}};let Gs=!0;function Qh(e){const t=Eo(e),i=e.proxy,n=e.ctx;Gs=!1,t.beforeCreate&&gr(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:r,watch:a,provide:l,inject:c,created:h,beforeMount:f,mounted:u,beforeUpdate:d,updated:_,activated:p,deactivated:m,beforeDestroy:x,beforeUnmount:w,destroyed:y,unmounted:P,render:S,renderTracked:E,renderTriggered:R,errorCaptured:T,serverPrefetch:B,expose:F,inheritAttrs:N,components:V,directives:rt,filters:yt}=t;if(c&&Gh(c,n,null,e.appContext.config.unwrapInjectedRef),r)for(const W in r){const q=r[W];Y(q)&&(n[W]=q.bind(i))}if(s){const W=s.call(i,i);ht(W)&&(e.data=ds(W))}if(Gs=!0,o)for(const W in o){const q=o[W],ut=Y(q)?q.bind(i,i):Y(q.get)?q.get.bind(i,i):ie,Jt=!Y(q)&&Y(q.set)?q.set.bind(i):ie,Ut=ke({get:ut,set:Jt});Object.defineProperty(n,W,{enumerable:!0,configurable:!0,get:()=>Ut.value,set:Ct=>Ut.value=Ct})}if(a)for(const W in a)Pl(a[W],n,i,W);if(l){const W=Y(l)?l.call(i):l;Reflect.ownKeys(W).forEach(q=>{Ao(q,W[q])})}h&&gr(h,e,"c");function U(W,q){j(q)?q.forEach(ut=>W(ut.bind(i))):q&&W(q.bind(i))}if(U(To,f),U(Do,u),U(Vh,d),U(Uh,_),U(jh,p),U(Wh,m),U(qh,T),U(Xh,E),U(Kh,R),U(Lo,w),U(kl,P),U(Yh,B),j(F))if(F.length){const W=e.exposed||(e.exposed={});F.forEach(q=>{Object.defineProperty(W,q,{get:()=>i[q],set:ut=>i[q]=ut})})}else e.exposed||(e.exposed={});S&&e.render===ie&&(e.render=S),N!=null&&(e.inheritAttrs=N),V&&(e.components=V),rt&&(e.directives=rt)}function Gh(e,t,i=ie,n=!1){j(e)&&(e=to(e));for(const s in e){const o=e[s];let r;ht(o)?"default"in o?r=di(o.from||s,o.default,!0):r=di(o.from||s):r=di(o),Dt(r)&&n?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:a=>r.value=a}):t[s]=r}}function gr(e,t,i){qt(j(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,i)}function Pl(e,t,i,n){const s=n.includes(".")?yl(i,n):()=>i[n];if(Mt(e)){const o=t[e];Y(o)&&Ae(s,o)}else if(Y(e))Ae(s,e.bind(i));else if(ht(e))if(j(e))e.forEach(o=>Pl(o,t,i,n));else{const o=Y(e.handler)?e.handler.bind(i):t[e.handler];Y(o)&&Ae(s,o,e)}}function Eo(e){const t=e.type,{mixins:i,extends:n}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,a=o.get(t);let l;return a?l=a:!s.length&&!i&&!n?l=t:(l={},s.length&&s.forEach(c=>Vn(l,c,r,!0)),Vn(l,t,r)),ht(t)&&o.set(t,l),l}function Vn(e,t,i,n=!1){const{mixins:s,extends:o}=t;o&&Vn(e,o,i,!0),s&&s.forEach(r=>Vn(e,r,i,!0));for(const r in t)if(!(n&&r==="expose")){const a=tf[r]||i&&i[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const tf={data:pr,props:Ve,emits:Ve,methods:Ve,computed:Ve,beforeCreate:Ft,created:Ft,beforeMount:Ft,mounted:Ft,beforeUpdate:Ft,updated:Ft,beforeDestroy:Ft,beforeUnmount:Ft,destroyed:Ft,unmounted:Ft,activated:Ft,deactivated:Ft,errorCaptured:Ft,serverPrefetch:Ft,components:Ve,directives:Ve,watch:nf,provide:pr,inject:ef};function pr(e,t){return t?e?function(){return Et(Y(e)?e.call(this,this):e,Y(t)?t.call(this,this):t)}:t:e}function ef(e,t){return Ve(to(e),to(t))}function to(e){if(j(e)){const t={};for(let i=0;i<e.length;i++)t[e[i]]=e[i];return t}return e}function Ft(e,t){return e?[...new Set([].concat(e,t))]:t}function Ve(e,t){return e?Et(Et(Object.create(null),e),t):t}function nf(e,t){if(!e)return t;if(!t)return e;const i=Et(Object.create(null),e);for(const n in t)i[n]=Ft(e[n],t[n]);return i}function sf(e,t,i,n=!1){const s={},o={};Nn(o,ys,1),e.propsDefaults=Object.create(null),Ol(e,t,s,o);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);i?e.props=n?s:_h(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function of(e,t,i,n){const{props:s,attrs:o,vnode:{patchFlag:r}}=e,a=X(s),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const h=e.vnode.dynamicProps;for(let f=0;f<h.length;f++){let u=h[f];if(ps(e.emitsOptions,u))continue;const d=t[u];if(l)if(Q(o,u))d!==o[u]&&(o[u]=d,c=!0);else{const _=bi(u);s[_]=eo(l,a,_,d,e,!1)}else d!==o[u]&&(o[u]=d,c=!0)}}}else{Ol(e,t,s,o)&&(c=!0);let h;for(const f in a)(!t||!Q(t,f)&&((h=Mi(f))===f||!Q(t,h)))&&(l?i&&(i[f]!==void 0||i[h]!==void 0)&&(s[f]=eo(l,a,f,void 0,e,!0)):delete s[f]);if(o!==a)for(const f in o)(!t||!Q(t,f)&&!0)&&(delete o[f],c=!0)}c&&_e(e,"set","$attrs")}function Ol(e,t,i,n){const[s,o]=e.propsOptions;let r=!1,a;if(t)for(let l in t){if(Ln(l))continue;const c=t[l];let h;s&&Q(s,h=bi(l))?!o||!o.includes(h)?i[h]=c:(a||(a={}))[h]=c:ps(e.emitsOptions,l)||(!(l in n)||c!==n[l])&&(n[l]=c,r=!0)}if(o){const l=X(i),c=a||ft;for(let h=0;h<o.length;h++){const f=o[h];i[f]=eo(s,l,f,c[f],e,!Q(c,f))}}return r}function eo(e,t,i,n,s,o){const r=e[i];if(r!=null){const a=Q(r,"default");if(a&&n===void 0){const l=r.default;if(r.type!==Function&&Y(l)){const{propsDefaults:c}=s;i in c?n=c[i]:(yi(s),n=c[i]=l.call(null,t),Qe())}else n=l}r[0]&&(o&&!a?n=!1:r[1]&&(n===""||n===Mi(i))&&(n=!0))}return n}function Al(e,t,i=!1){const n=t.propsCache,s=n.get(e);if(s)return s;const o=e.props,r={},a=[];let l=!1;if(!Y(e)){const h=f=>{l=!0;const[u,d]=Al(f,t,!0);Et(r,u),d&&a.push(...d)};!i&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!o&&!l)return ht(e)&&n.set(e,ci),ci;if(j(o))for(let h=0;h<o.length;h++){const f=bi(o[h]);mr(f)&&(r[f]=ft)}else if(o)for(const h in o){const f=bi(h);if(mr(f)){const u=o[h],d=r[f]=j(u)||Y(u)?{type:u}:Object.assign({},u);if(d){const _=xr(Boolean,d.type),p=xr(String,d.type);d[0]=_>-1,d[1]=p<0||_<p,(_>-1||Q(d,"default"))&&a.push(f)}}}const c=[r,a];return ht(e)&&n.set(e,c),c}function mr(e){return e[0]!=="$"}function br(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function _r(e,t){return br(e)===br(t)}function xr(e,t){return j(t)?t.findIndex(i=>_r(i,e)):Y(t)&&_r(t,e)?0:-1}const Tl=e=>e[0]==="_"||e==="$stable",Io=e=>j(e)?e.map(he):[he(e)],rf=(e,t,i)=>{if(t._n)return t;const n=At((...s)=>Io(t(...s)),i);return n._c=!1,n},Dl=(e,t,i)=>{const n=e._ctx;for(const s in e){if(Tl(s))continue;const o=e[s];if(Y(o))t[s]=rf(s,o,n);else if(o!=null){const r=Io(o);t[s]=()=>r}}},Ll=(e,t)=>{const i=Io(t);e.slots.default=()=>i},af=(e,t)=>{if(e.vnode.shapeFlag&32){const i=t._;i?(e.slots=X(t),Nn(t,"_",i)):Dl(t,e.slots={})}else e.slots={},t&&Ll(e,t);Nn(e.slots,ys,1)},lf=(e,t,i)=>{const{vnode:n,slots:s}=e;let o=!0,r=ft;if(n.shapeFlag&32){const a=t._;a?i&&a===1?o=!1:(Et(s,t),!i&&a===1&&delete s._):(o=!t.$stable,Dl(t,s)),r=t}else t&&(Ll(e,t),r={default:1});if(o)for(const a in s)!Tl(a)&&!(a in r)&&delete s[a]};function El(){return{app:null,config:{isNativeTag:Hc,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let cf=0;function hf(e,t){return function(n,s=null){Y(n)||(n=Object.assign({},n)),s!=null&&!ht(s)&&(s=null);const o=El(),r=new Set;let a=!1;const l=o.app={_uid:cf++,_component:n,_props:s,_container:null,_context:o,_instance:null,version:Af,get config(){return o.config},set config(c){},use(c,...h){return r.has(c)||(c&&Y(c.install)?(r.add(c),c.install(l,...h)):Y(c)&&(r.add(c),c(l,...h))),l},mixin(c){return o.mixins.includes(c)||o.mixins.push(c),l},component(c,h){return h?(o.components[c]=h,l):o.components[c]},directive(c,h){return h?(o.directives[c]=h,l):o.directives[c]},mount(c,h,f){if(!a){const u=nt(n,s);return u.appContext=o,h&&t?t(u,c):e(u,c,f),a=!0,l._container=c,c.__vue_app__=l,vs(u.component)||u.component.proxy}},unmount(){a&&(e(null,l._container),delete l._container.__vue_app__)},provide(c,h){return o.provides[c]=h,l}};return l}}function io(e,t,i,n,s=!1){if(j(e)){e.forEach((u,d)=>io(u,t&&(j(t)?t[d]:t),i,n,s));return}if(Ni(n)&&!s)return;const o=n.shapeFlag&4?vs(n.component)||n.component.proxy:n.el,r=s?null:o,{i:a,r:l}=e,c=t&&t.r,h=a.refs===ft?a.refs={}:a.refs,f=a.setupState;if(c!=null&&c!==l&&(Mt(c)?(h[c]=null,Q(f,c)&&(f[c]=null)):Dt(c)&&(c.value=null)),Y(l))Oe(l,a,12,[r,h]);else{const u=Mt(l),d=Dt(l);if(u||d){const _=()=>{if(e.f){const p=u?Q(f,l)?f[l]:h[l]:l.value;s?j(p)&&bo(p,o):j(p)?p.includes(o)||p.push(o):u?(h[l]=[o],Q(f,l)&&(f[l]=h[l])):(l.value=[o],e.k&&(h[e.k]=l.value))}else u?(h[l]=r,Q(f,l)&&(f[l]=r)):d&&(l.value=r,e.k&&(h[e.k]=r))};r?(_.id=-1,zt(_,i)):_()}}}const zt=Rh;function ff(e){return uf(e)}function uf(e,t){const i=Vc();i.__VUE__=!0;const{insert:n,remove:s,patchProp:o,createElement:r,createText:a,createComment:l,setText:c,setElementText:h,parentNode:f,nextSibling:u,setScopeId:d=ie,insertStaticContent:_}=e,p=(g,b,v,k=null,M=null,A=null,L=!1,O=null,D=!!b.dynamicChildren)=>{if(g===b)return;g&&!Ke(g,b)&&(k=hn(g),Ct(g,M,A,!0),g=null),b.patchFlag===-2&&(D=!1,b.dynamicChildren=null);const{type:C,ref:H,shapeFlag:I}=b;switch(C){case xs:m(g,b,v,k);break;case Zt:x(g,b,v,k);break;case Ls:g==null&&w(b,v,k,L);break;case vt:V(g,b,v,k,M,A,L,O,D);break;default:I&1?S(g,b,v,k,M,A,L,O,D):I&6?rt(g,b,v,k,M,A,L,O,D):(I&64||I&128)&&C.process(g,b,v,k,M,A,L,O,D,oi)}H!=null&&M&&io(H,g&&g.ref,A,b||g,!b)},m=(g,b,v,k)=>{if(g==null)n(b.el=a(b.children),v,k);else{const M=b.el=g.el;b.children!==g.children&&c(M,b.children)}},x=(g,b,v,k)=>{g==null?n(b.el=l(b.children||""),v,k):b.el=g.el},w=(g,b,v,k)=>{[g.el,g.anchor]=_(g.children,b,v,k,g.el,g.anchor)},y=({el:g,anchor:b},v,k)=>{let M;for(;g&&g!==b;)M=u(g),n(g,v,k),g=M;n(b,v,k)},P=({el:g,anchor:b})=>{let v;for(;g&&g!==b;)v=u(g),s(g),g=v;s(b)},S=(g,b,v,k,M,A,L,O,D)=>{L=L||b.type==="svg",g==null?E(b,v,k,M,A,L,O,D):B(g,b,M,A,L,O,D)},E=(g,b,v,k,M,A,L,O)=>{let D,C;const{type:H,props:I,shapeFlag:z,transition:$,dirs:J}=g;if(D=g.el=r(g.type,A,I&&I.is,I),z&8?h(D,g.children):z&16&&T(g.children,D,null,k,M,A&&H!=="foreignObject",L,O),J&&He(g,null,k,"created"),I){for(const ot in I)ot!=="value"&&!Ln(ot)&&o(D,ot,null,I[ot],A,g.children,k,M,Rt);"value"in I&&o(D,"value",null,I.value),(C=I.onVnodeBeforeMount)&&oe(C,k,g)}R(D,g,g.scopeId,L,k),J&&He(g,null,k,"beforeMount");const at=(!M||M&&!M.pendingBranch)&&$&&!$.persisted;at&&$.beforeEnter(D),n(D,b,v),((C=I&&I.onVnodeMounted)||at||J)&&zt(()=>{C&&oe(C,k,g),at&&$.enter(D),J&&He(g,null,k,"mounted")},M)},R=(g,b,v,k,M)=>{if(v&&d(g,v),k)for(let A=0;A<k.length;A++)d(g,k[A]);if(M){let A=M.subTree;if(b===A){const L=M.vnode;R(g,L,L.scopeId,L.slotScopeIds,M.parent)}}},T=(g,b,v,k,M,A,L,O,D=0)=>{for(let C=D;C<g.length;C++){const H=g[C]=O?we(g[C]):he(g[C]);p(null,H,b,v,k,M,A,L,O)}},B=(g,b,v,k,M,A,L)=>{const O=b.el=g.el;let{patchFlag:D,dynamicChildren:C,dirs:H}=b;D|=g.patchFlag&16;const I=g.props||ft,z=b.props||ft;let $;v&&ze(v,!1),($=z.onVnodeBeforeUpdate)&&oe($,v,b,g),H&&He(b,g,v,"beforeUpdate"),v&&ze(v,!0);const J=M&&b.type!=="foreignObject";if(C?F(g.dynamicChildren,C,O,v,k,J,A):L||q(g,b,O,null,v,k,J,A,!1),D>0){if(D&16)N(O,b,I,z,v,k,M);else if(D&2&&I.class!==z.class&&o(O,"class",null,z.class,M),D&4&&o(O,"style",I.style,z.style,M),D&8){const at=b.dynamicProps;for(let ot=0;ot<at.length;ot++){const xt=at[ot],Qt=I[xt],ri=z[xt];(ri!==Qt||xt==="value")&&o(O,xt,Qt,ri,M,g.children,v,k,Rt)}}D&1&&g.children!==b.children&&h(O,b.children)}else!L&&C==null&&N(O,b,I,z,v,k,M);(($=z.onVnodeUpdated)||H)&&zt(()=>{$&&oe($,v,b,g),H&&He(b,g,v,"updated")},k)},F=(g,b,v,k,M,A,L)=>{for(let O=0;O<b.length;O++){const D=g[O],C=b[O],H=D.el&&(D.type===vt||!Ke(D,C)||D.shapeFlag&70)?f(D.el):v;p(D,C,H,null,k,M,A,L,!0)}},N=(g,b,v,k,M,A,L)=>{if(v!==k){if(v!==ft)for(const O in v)!Ln(O)&&!(O in k)&&o(g,O,v[O],null,L,b.children,M,A,Rt);for(const O in k){if(Ln(O))continue;const D=k[O],C=v[O];D!==C&&O!=="value"&&o(g,O,C,D,L,b.children,M,A,Rt)}"value"in k&&o(g,"value",v.value,k.value)}},V=(g,b,v,k,M,A,L,O,D)=>{const C=b.el=g?g.el:a(""),H=b.anchor=g?g.anchor:a("");let{patchFlag:I,dynamicChildren:z,slotScopeIds:$}=b;$&&(O=O?O.concat($):$),g==null?(n(C,v,k),n(H,v,k),T(b.children,v,H,M,A,L,O,D)):I>0&&I&64&&z&&g.dynamicChildren?(F(g.dynamicChildren,z,v,M,A,L,O),(b.key!=null||M&&b===M.subTree)&&Il(g,b,!0)):q(g,b,v,H,M,A,L,O,D)},rt=(g,b,v,k,M,A,L,O,D)=>{b.slotScopeIds=O,g==null?b.shapeFlag&512?M.ctx.activate(b,v,k,L,D):yt(b,v,k,M,A,L,D):et(g,b,D)},yt=(g,b,v,k,M,A,L)=>{const O=g.component=vf(g,k,M);if(bs(g)&&(O.ctx.renderer=oi),wf(O),O.asyncDep){if(M&&M.registerDep(O,U),!g.el){const D=O.subTree=nt(Zt);x(null,D,b,v)}return}U(O,g,b,v,M,A,L)},et=(g,b,v)=>{const k=b.component=g.component;if(Lh(g,b,v))if(k.asyncDep&&!k.asyncResolved){W(k,b,v);return}else k.next=b,Sh(k.update),k.update();else b.el=g.el,k.vnode=b},U=(g,b,v,k,M,A,L)=>{const O=()=>{if(g.isMounted){let{next:H,bu:I,u:z,parent:$,vnode:J}=g,at=H,ot;ze(g,!1),H?(H.el=J.el,W(g,H,L)):H=J,I&&En(I),(ot=H.props&&H.props.onVnodeBeforeUpdate)&&oe(ot,$,H,J),ze(g,!0);const xt=As(g),Qt=g.subTree;g.subTree=xt,p(Qt,xt,f(Qt.el),hn(Qt),g,M,A),H.el=xt.el,at===null&&Eh(g,xt.el),z&&zt(z,M),(ot=H.props&&H.props.onVnodeUpdated)&&zt(()=>oe(ot,$,H,J),M)}else{let H;const{el:I,props:z}=b,{bm:$,m:J,parent:at}=g,ot=Ni(b);if(ze(g,!1),$&&En($),!ot&&(H=z&&z.onVnodeBeforeMount)&&oe(H,at,b),ze(g,!0),I&&Ps){const xt=()=>{g.subTree=As(g),Ps(I,g.subTree,g,M,null)};ot?b.type.__asyncLoader().then(()=>!g.isUnmounted&&xt()):xt()}else{const xt=g.subTree=As(g);p(null,xt,v,k,g,M,A),b.el=xt.el}if(J&&zt(J,M),!ot&&(H=z&&z.onVnodeMounted)){const xt=b;zt(()=>oe(H,at,xt),M)}(b.shapeFlag&256||at&&Ni(at.vnode)&&at.vnode.shapeFlag&256)&&g.a&&zt(g.a,M),g.isMounted=!0,b=v=k=null}},D=g.effect=new vo(O,()=>Oo(C),g.scope),C=g.update=()=>D.run();C.id=g.uid,ze(g,!0),C()},W=(g,b,v)=>{b.component=g;const k=g.vnode.props;g.vnode=b,g.next=null,of(g,b.props,k,v),lf(g,b.children,v),ki(),fr(),Ci()},q=(g,b,v,k,M,A,L,O,D=!1)=>{const C=g&&g.children,H=g?g.shapeFlag:0,I=b.children,{patchFlag:z,shapeFlag:$}=b;if(z>0){if(z&128){Jt(C,I,v,k,M,A,L,O,D);return}else if(z&256){ut(C,I,v,k,M,A,L,O,D);return}}$&8?(H&16&&Rt(C,M,A),I!==C&&h(v,I)):H&16?$&16?Jt(C,I,v,k,M,A,L,O,D):Rt(C,M,A,!0):(H&8&&h(v,""),$&16&&T(I,v,k,M,A,L,O,D))},ut=(g,b,v,k,M,A,L,O,D)=>{g=g||ci,b=b||ci;const C=g.length,H=b.length,I=Math.min(C,H);let z;for(z=0;z<I;z++){const $=b[z]=D?we(b[z]):he(b[z]);p(g[z],$,v,null,M,A,L,O,D)}C>H?Rt(g,M,A,!0,!1,I):T(b,v,k,M,A,L,O,D,I)},Jt=(g,b,v,k,M,A,L,O,D)=>{let C=0;const H=b.length;let I=g.length-1,z=H-1;for(;C<=I&&C<=z;){const $=g[C],J=b[C]=D?we(b[C]):he(b[C]);if(Ke($,J))p($,J,v,null,M,A,L,O,D);else break;C++}for(;C<=I&&C<=z;){const $=g[I],J=b[z]=D?we(b[z]):he(b[z]);if(Ke($,J))p($,J,v,null,M,A,L,O,D);else break;I--,z--}if(C>I){if(C<=z){const $=z+1,J=$<H?b[$].el:k;for(;C<=z;)p(null,b[C]=D?we(b[C]):he(b[C]),v,J,M,A,L,O,D),C++}}else if(C>z)for(;C<=I;)Ct(g[C],M,A,!0),C++;else{const $=C,J=C,at=new Map;for(C=J;C<=z;C++){const jt=b[C]=D?we(b[C]):he(b[C]);jt.key!=null&&at.set(jt.key,C)}let ot,xt=0;const Qt=z-J+1;let ri=!1,Go=0;const Si=new Array(Qt);for(C=0;C<Qt;C++)Si[C]=0;for(C=$;C<=I;C++){const jt=g[C];if(xt>=Qt){Ct(jt,M,A,!0);continue}let se;if(jt.key!=null)se=at.get(jt.key);else for(ot=J;ot<=z;ot++)if(Si[ot-J]===0&&Ke(jt,b[ot])){se=ot;break}se===void 0?Ct(jt,M,A,!0):(Si[se-J]=C+1,se>=Go?Go=se:ri=!0,p(jt,b[se],v,null,M,A,L,O,D),xt++)}const tr=ri?df(Si):ci;for(ot=tr.length-1,C=Qt-1;C>=0;C--){const jt=J+C,se=b[jt],er=jt+1<H?b[jt+1].el:k;Si[C]===0?p(null,se,v,er,M,A,L,O,D):ri&&(ot<0||C!==tr[ot]?Ut(se,v,er,2):ot--)}}},Ut=(g,b,v,k,M=null)=>{const{el:A,type:L,transition:O,children:D,shapeFlag:C}=g;if(C&6){Ut(g.component.subTree,b,v,k);return}if(C&128){g.suspense.move(b,v,k);return}if(C&64){L.move(g,b,v,oi);return}if(L===vt){n(A,b,v);for(let I=0;I<D.length;I++)Ut(D[I],b,v,k);n(g.anchor,b,v);return}if(L===Ls){y(g,b,v);return}if(k!==2&&C&1&&O)if(k===0)O.beforeEnter(A),n(A,b,v),zt(()=>O.enter(A),M);else{const{leave:I,delayLeave:z,afterLeave:$}=O,J=()=>n(A,b,v),at=()=>{I(A,()=>{J(),$&&$()})};z?z(A,J,at):at()}else n(A,b,v)},Ct=(g,b,v,k=!1,M=!1)=>{const{type:A,props:L,ref:O,children:D,dynamicChildren:C,shapeFlag:H,patchFlag:I,dirs:z}=g;if(O!=null&&io(O,null,v,g,!0),H&256){b.ctx.deactivate(g);return}const $=H&1&&z,J=!Ni(g);let at;if(J&&(at=L&&L.onVnodeBeforeUnmount)&&oe(at,b,g),H&6)Be(g.component,v,k);else{if(H&128){g.suspense.unmount(v,k);return}$&&He(g,null,b,"beforeUnmount"),H&64?g.type.remove(g,b,v,M,oi,k):C&&(A!==vt||I>0&&I&64)?Rt(C,b,v,!1,!0):(A===vt&&I&384||!M&&H&16)&&Rt(D,b,v),k&&ye(g)}(J&&(at=L&&L.onVnodeUnmounted)||$)&&zt(()=>{at&&oe(at,b,g),$&&He(g,null,b,"unmounted")},v)},ye=g=>{const{type:b,el:v,anchor:k,transition:M}=g;if(b===vt){Fe(v,k);return}if(b===Ls){P(g);return}const A=()=>{s(v),M&&!M.persisted&&M.afterLeave&&M.afterLeave()};if(g.shapeFlag&1&&M&&!M.persisted){const{leave:L,delayLeave:O}=M,D=()=>L(v,A);O?O(g.el,A,D):D()}else A()},Fe=(g,b)=>{let v;for(;g!==b;)v=u(g),s(g),g=v;s(b)},Be=(g,b,v)=>{const{bum:k,scope:M,update:A,subTree:L,um:O}=g;k&&En(k),M.stop(),A&&(A.active=!1,Ct(L,g,b,v)),O&&zt(O,b),zt(()=>{g.isUnmounted=!0},b),b&&b.pendingBranch&&!b.isUnmounted&&g.asyncDep&&!g.asyncResolved&&g.suspenseId===b.pendingId&&(b.deps--,b.deps===0&&b.resolve())},Rt=(g,b,v,k=!1,M=!1,A=0)=>{for(let L=A;L<g.length;L++)Ct(g[L],b,v,k,M)},hn=g=>g.shapeFlag&6?hn(g.component.subTree):g.shapeFlag&128?g.suspense.next():u(g.anchor||g.el),Qo=(g,b,v)=>{g==null?b._vnode&&Ct(b._vnode,null,null,!0):p(b._vnode||null,g,b,null,null,null,v),fr(),gl(),b._vnode=g},oi={p,um:Ct,m:Ut,r:ye,mt:yt,mc:T,pc:q,pbc:F,n:hn,o:e};let Ss,Ps;return t&&([Ss,Ps]=t(oi)),{render:Qo,hydrate:Ss,createApp:hf(Qo,Ss)}}function ze({effect:e,update:t},i){e.allowRecurse=t.allowRecurse=i}function Il(e,t,i=!1){const n=e.children,s=t.children;if(j(n)&&j(s))for(let o=0;o<n.length;o++){const r=n[o];let a=s[o];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=s[o]=we(s[o]),a.el=r.el),i||Il(r,a)),a.type===xs&&(a.el=r.el)}}function df(e){const t=e.slice(),i=[0];let n,s,o,r,a;const l=e.length;for(n=0;n<l;n++){const c=e[n];if(c!==0){if(s=i[i.length-1],e[s]<c){t[n]=s,i.push(n);continue}for(o=0,r=i.length-1;o<r;)a=o+r>>1,e[i[a]]<c?o=a+1:r=a;c<e[i[o]]&&(o>0&&(t[n]=i[o-1]),i[o]=n)}}for(o=i.length,r=i[o-1];o-- >0;)i[o]=r,r=t[r];return i}const gf=e=>e.__isTeleport,vt=Symbol(void 0),xs=Symbol(void 0),Zt=Symbol(void 0),Ls=Symbol(void 0),Wi=[];let ee=null;function G(e=!1){Wi.push(ee=e?null:[])}function pf(){Wi.pop(),ee=Wi[Wi.length-1]||null}let Gi=1;function yr(e){Gi+=e}function Rl(e){return e.dynamicChildren=Gi>0?ee||ci:null,pf(),Gi>0&&ee&&ee.push(e),e}function ct(e,t,i,n,s,o){return Rl(K(e,t,i,n,s,o,!0))}function ti(e,t,i,n,s){return Rl(nt(e,t,i,n,s,!0))}function Un(e){return e?e.__v_isVNode===!0:!1}function Ke(e,t){return e.type===t.type&&e.key===t.key}const ys="__vInternal",Fl=({key:e})=>e!=null?e:null,In=({ref:e,ref_key:t,ref_for:i})=>e!=null?Mt(e)||Dt(e)||Y(e)?{i:Lt,r:e,k:t,f:!!i}:e:null;function K(e,t=null,i=null,n=0,s=null,o=e===vt?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Fl(t),ref:t&&In(t),scopeId:ms,slotScopeIds:null,children:i,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Lt};return a?(Ro(l,i),o&128&&e.normalize(l)):i&&(l.shapeFlag|=Mt(i)?8:16),Gi>0&&!r&&ee&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&ee.push(l),l}const nt=mf;function mf(e,t=null,i=null,n=0,s=null,o=!1){if((!e||e===Zh)&&(e=Zt),Un(e)){const a=Le(e,t,!0);return i&&Ro(a,i),Gi>0&&!o&&ee&&(a.shapeFlag&6?ee[ee.indexOf(e)]=a:ee.push(a)),a.patchFlag|=-2,a}if(Cf(e)&&(e=e.__vccOpts),t){t=bf(t);let{class:a,style:l}=t;a&&!Mt(a)&&(t.class=rn(a)),ht(l)&&(zi(l)&&!j(l)&&(l=Et({},l)),t.style=Yi(l))}const r=Mt(e)?1:Ih(e)?128:gf(e)?64:ht(e)?4:Y(e)?2:0;return K(e,t,i,n,s,r,o,!0)}function bf(e){return e?zi(e)||ys in e?Et({},e):e:null}function Le(e,t,i=!1){const{props:n,ref:s,patchFlag:o,children:r}=e,a=t?_f(n||{},t):n;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Fl(a),ref:t&&t.ref?i&&s?j(s)?s.concat(In(t)):[s,In(t)]:In(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==vt?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Le(e.ssContent),ssFallback:e.ssFallback&&Le(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx}}function Je(e=" ",t=0){return nt(xs,null,e,t)}function Es(e="",t=!1){return t?(G(),ti(Zt,null,e)):nt(Zt,null,e)}function he(e){return e==null||typeof e=="boolean"?nt(Zt):j(e)?nt(vt,null,e.slice()):typeof e=="object"?we(e):nt(xs,null,String(e))}function we(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Le(e)}function Ro(e,t){let i=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(j(t))i=16;else if(typeof t=="object")if(n&65){const s=t.default;s&&(s._c&&(s._d=!1),Ro(e,s()),s._c&&(s._d=!0));return}else{i=32;const s=t._;!s&&!(ys in t)?t._ctx=Lt:s===3&&Lt&&(Lt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Y(t)?(t={default:t,_ctx:Lt},i=32):(t=String(t),n&64?(i=16,t=[Je(t)]):i=8);e.children=t,e.shapeFlag|=i}function _f(...e){const t={};for(let i=0;i<e.length;i++){const n=e[i];for(const s in n)if(s==="class")t.class!==n.class&&(t.class=rn([t.class,n.class]));else if(s==="style")t.style=Yi([t.style,n.style]);else if(cs(s)){const o=t[s],r=n[s];r&&o!==r&&!(j(o)&&o.includes(r))&&(t[s]=o?[].concat(o,r):r)}else s!==""&&(t[s]=n[s])}return t}function oe(e,t,i,n=null){qt(e,t,7,[i,n])}const xf=El();let yf=0;function vf(e,t,i){const n=e.type,s=(t?t.appContext:e.appContext)||xf,o={uid:yf++,vnode:e,type:n,parent:t,appContext:s,root:null,next:null,subTree:null,effect:null,update:null,scope:new Uc(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(s.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Al(n,s),emitsOptions:ml(n,s),emit:null,emitted:null,propsDefaults:ft,inheritAttrs:n.inheritAttrs,ctx:ft,data:ft,props:ft,attrs:ft,slots:ft,refs:ft,setupState:ft,setupContext:null,suspense:i,suspenseId:i?i.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Ah.bind(null,o),e.ce&&e.ce(o),o}let Pt=null;const Bl=()=>Pt||Lt,yi=e=>{Pt=e,e.scope.on()},Qe=()=>{Pt&&Pt.scope.off(),Pt=null};function Hl(e){return e.vnode.shapeFlag&4}let tn=!1;function wf(e,t=!1){tn=t;const{props:i,children:n}=e.vnode,s=Hl(e);sf(e,i,s,t),af(e,n);const o=s?Mf(e,t):void 0;return tn=!1,o}function Mf(e,t){const i=e.type;e.accessCache=Object.create(null),e.proxy=rl(new Proxy(e.ctx,Jh));const{setup:n}=i;if(n){const s=e.setupContext=n.length>1?Nl(e):null;yi(e),ki();const o=Oe(n,e,0,[e.props,s]);if(Ci(),Qe(),Ua(o)){if(o.then(Qe,Qe),t)return o.then(r=>{vr(e,r,t)}).catch(r=>{gs(r,e,0)});e.asyncDep=o}else vr(e,o,t)}else zl(e,t)}function vr(e,t,i){Y(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ht(t)&&(e.setupState=hl(t)),zl(e,i)}let wr;function zl(e,t,i){const n=e.type;if(!e.render){if(!t&&wr&&!n.render){const s=n.template||Eo(e).template;if(s){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:l}=n,c=Et(Et({isCustomElement:o,delimiters:a},r),l);n.render=wr(s,c)}}e.render=n.render||ie}yi(e),ki(),Qh(e),Ci(),Qe()}function kf(e){return new Proxy(e.attrs,{get(t,i){return Vt(e,"get","$attrs"),t[i]}})}function Nl(e){const t=n=>{e.exposed=n||{}};let i;return{get attrs(){return i||(i=kf(e))},slots:e.slots,emit:e.emit,expose:t}}function vs(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(hl(rl(e.exposed)),{get(t,i){if(i in t)return t[i];if(i in ji)return ji[i](e)},has(t,i){return i in t||i in ji}}))}function Cf(e){return Y(e)&&"__vccOpts"in e}const ke=(e,t)=>Wn(e,t,tn);function jl(){return Sf().slots}function Sf(){const e=Bl();return e.setupContext||(e.setupContext=Nl(e))}function Mr(e,t,i){const n=arguments.length;return n===2?ht(t)&&!j(t)?Un(t)?nt(e,null,[t]):nt(e,t):nt(e,null,t):(n>3?i=Array.prototype.slice.call(arguments,2):n===3&&Un(i)&&(i=[i]),nt(e,t,i))}const Pf=Symbol(""),Of=()=>di(Pf),Af="3.2.45",Tf="http://www.w3.org/2000/svg",Xe=typeof document<"u"?document:null,kr=Xe&&Xe.createElement("template"),Df={insert:(e,t,i)=>{t.insertBefore(e,i||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,i,n)=>{const s=t?Xe.createElementNS(Tf,e):Xe.createElement(e,i?{is:i}:void 0);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,i,n,s,o){const r=i?i.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),i),!(s===o||!(s=s.nextSibling)););else{kr.innerHTML=n?`+"`"+`<svg>${e}</svg>`+"`"+`:e;const a=kr.content;if(n){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,i)}return[r?r.nextSibling:t.firstChild,i?i.previousSibling:t.lastChild]}};function Lf(e,t,i){const n=e._vtc;n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):i?e.setAttribute("class",t):e.className=t}function Ef(e,t,i){const n=e.style,s=Mt(i);if(i&&!s){for(const o in i)no(n,o,i[o]);if(t&&!Mt(t))for(const o in t)i[o]==null&&no(n,o,"")}else{const o=n.display;s?t!==i&&(n.cssText=i):t&&e.removeAttribute("style"),"_vod"in e&&(n.display=o)}}const Cr=/\s*!important$/;function no(e,t,i){if(j(i))i.forEach(n=>no(e,t,n));else if(i==null&&(i=""),t.startsWith("--"))e.setProperty(t,i);else{const n=If(e,t);Cr.test(i)?e.setProperty(Mi(n),i.replace(Cr,""),"important"):e[n]=i}}const Sr=["Webkit","Moz","ms"],Is={};function If(e,t){const i=Is[t];if(i)return i;let n=bi(t);if(n!=="filter"&&n in e)return Is[t]=n;n=Xa(n);for(let s=0;s<Sr.length;s++){const o=Sr[s]+n;if(o in e)return Is[t]=o}return t}const Pr="http://www.w3.org/1999/xlink";function Rf(e,t,i,n,s){if(n&&t.startsWith("xlink:"))i==null?e.removeAttributeNS(Pr,t.slice(6,t.length)):e.setAttributeNS(Pr,t,i);else{const o=Rc(t);i==null||o&&!$a(i)?e.removeAttribute(t):e.setAttribute(t,o?"":i)}}function Ff(e,t,i,n,s,o,r){if(t==="innerHTML"||t==="textContent"){n&&r(n,s,o),e[t]=i==null?"":i;return}if(t==="value"&&e.tagName!=="PROGRESS"&&!e.tagName.includes("-")){e._value=i;const l=i==null?"":i;(e.value!==l||e.tagName==="OPTION")&&(e.value=l),i==null&&e.removeAttribute(t);return}let a=!1;if(i===""||i==null){const l=typeof e[t];l==="boolean"?i=$a(i):i==null&&l==="string"?(i="",a=!0):l==="number"&&(i=0,a=!0)}try{e[t]=i}catch{}a&&e.removeAttribute(t)}function Wl(e,t,i,n){e.addEventListener(t,i,n)}function Bf(e,t,i,n){e.removeEventListener(t,i,n)}function Hf(e,t,i,n,s=null){const o=e._vei||(e._vei={}),r=o[t];if(n&&r)r.value=n;else{const[a,l]=zf(t);if(n){const c=o[t]=Wf(n,s);Wl(e,a,c,l)}else r&&(Bf(e,a,r,l),o[t]=void 0)}}const Or=/(?:Once|Passive|Capture)$/;function zf(e){let t;if(Or.test(e)){t={};let n;for(;n=e.match(Or);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Mi(e.slice(2)),t]}let Rs=0;const Nf=Promise.resolve(),jf=()=>Rs||(Nf.then(()=>Rs=0),Rs=Date.now());function Wf(e,t){const i=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=i.attached)return;qt($f(n,i.value),t,5,[n])};return i.value=e,i.attached=jf(),i}function $f(e,t){if(j(t)){const i=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{i.call(e),e._stopped=!0},t.map(n=>s=>!s._stopped&&n&&n(s))}else return t}const Ar=/^on[a-z]/,Vf=(e,t,i,n,s=!1,o,r,a,l)=>{t==="class"?Lf(e,n,s):t==="style"?Ef(e,i,n):cs(t)?mo(t)||Hf(e,t,i,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Uf(e,t,n,s))?Ff(e,t,n,o,r,a,l):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Rf(e,t,n,s))};function Uf(e,t,i,n){return n?!!(t==="innerHTML"||t==="textContent"||t in e&&Ar.test(t)&&Y(i)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Ar.test(t)&&Mt(i)?!1:t in e}const Yf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};zh.props;const Tr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return j(t)?i=>En(t,i):t},Kf={deep:!0,created(e,{value:t,modifiers:{number:i}},n){const s=hs(t);Wl(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>i?xo(Yn(r)):Yn(r));e._assign(e.multiple?s?new Set(o):o:o[0])}),e._assign=Tr(n)},mounted(e,{value:t}){Dr(e,t)},beforeUpdate(e,t,i){e._assign=Tr(i)},updated(e,{value:t}){Dr(e,t)}};function Dr(e,t){const i=e.multiple;if(!(i&&!j(t)&&!hs(t))){for(let n=0,s=e.options.length;n<s;n++){const o=e.options[n],r=Yn(o);if(i)j(t)?o.selected=Bc(t,r)>-1:o.selected=t.has(r);else if(ls(Yn(o),t)){e.selectedIndex!==n&&(e.selectedIndex=n);return}}!i&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Yn(e){return"_value"in e?e._value:e.value}const Xf={beforeMount(e,{value:t},{transition:i}){e._vod=e.style.display==="none"?"":e.style.display,i&&t?i.beforeEnter(e):Pi(e,t)},mounted(e,{value:t},{transition:i}){i&&t&&i.enter(e)},updated(e,{value:t,oldValue:i},{transition:n}){!t!=!i&&(n?t?(n.beforeEnter(e),Pi(e,!0),n.enter(e)):n.leave(e,()=>{Pi(e,!1)}):Pi(e,t))},beforeUnmount(e,{value:t}){Pi(e,t)}};function Pi(e,t){e.style.display=t?e._vod:"none"}const qf=Et({patchProp:Vf},Df);let Lr;function Zf(){return Lr||(Lr=ff(qf))}const Jf=(...e)=>{const t=Zf().createApp(...e),{mount:i}=t;return t.mount=n=>{const s=Qf(n);if(!s)return;const o=t._component;!Y(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const r=i(s,!1,s instanceof SVGElement);return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},t};function Qf(e){return Mt(e)?document.querySelector(e):e}const Re=(e,t)=>{const i=e.__vccOpts||e;for(const[n,s]of t)i[n]=s;return i},Gf={class:"tabs-wrapper"},tu={class:"tabs-labels"},eu=["onClick"],iu={class:"contents"},nu={__name:"tabs",props:{modelValue:String},emits:["input"],setup(e,{emit:t}){const i=e,n=ds({selectedIndex:null,count:0});Ao("tabsProvider",n);const s=jl(),o=ke(()=>s.default().map(a=>a.props));function r(a){t("input",a)}return Ae(()=>i.modelValue,a=>{n.selectedIndex=a}),(a,l)=>(G(),ct("div",Gf,[K("ul",tu,[(G(!0),ct(vt,null,Qi(Bt(o),(c,h)=>(G(),ct("li",{key:c.name,onClick:f=>r(c.name),class:rn({active:n.selectedIndex==c.name})},St(c.label),11,eu))),128))]),K("div",iu,[xi(a.$slots,"default",{},void 0,!0)])]))}},su=Re(nu,[["__scopeId","data-v-9107e306"]]);const ou={class:"tab-detail"},ru={__name:"tab-item",props:{label:String,name:String},setup(e){const t=e,i=di("tabsProvider"),n=Gt(!1);return Ae(()=>i.selectedIndex,()=>{n.value=t.name===i.selectedIndex}),To(()=>{i.selectedIndex==null&&(i.selectedIndex=t.name),i.selectedIndex==t.name&&(n.value=!0)}),(s,o)=>Cl((G(),ct("div",ou,[xi(s.$slots,"default",{},void 0,!0)],512)),[[Xf,Bt(n)]])}},Fs=Re(ru,[["__scopeId","data-v-bb4504fd"]]);const au={class:"items"},lu={__name:"items",props:{labelWidth:Number,columns:{type:Number,default:1}},setup(e){return Ao("items",e),(i,n)=>(G(),ct("div",au,[xi(i.$slots,"default",{},void 0,!0)]))}},$l=Re(lu,[["__scopeId","data-v-8d0892c0"]]);const cu={__name:"item",props:{label:String,columns:{type:Number,default:1}},setup(e){const t=e,i=di("items"),n=Wn(()=>i.labelWidth?{width:i.labelWidth+"px"}:{}),s=Wn(()=>{var o=Math.floor(100/i.columns*t.columns);return{width:o+"%"}});return(o,r)=>(G(),ct("div",{style:Yi(Bt(s))},[K("div",{style:Yi(Bt(n)),class:"label"},St(e.label),5),xi(o.$slots,"default",{},void 0,!0)],4))}},gi=Re(cu,[["__scopeId","data-v-65b10140"]]);const hu={class:"panel"},fu={key:0,class:"flex between"},uu={class:"inline"},du={key:1},gu={class:"panel-body"},pu={__name:"panel",props:{label:String},setup(e){const t=jl();return(i,n)=>(G(),ct("div",hu,[Bt(t).toolbar?(G(),ct("header",fu,[K("span",null,St(e.label),1),K("div",uu,[xi(i.$slots,"toolbar",{},void 0,!0)])])):(G(),ct("header",du,St(e.label),1)),K("div",gu,[xi(i.$slots,"default",{},void 0,!0)])]))}},so=Re(pu,[["__scopeId","data-v-797b15cd"]]);/*!
 * Chart.js v4.0.1
 * https://www.chartjs.org
 * (c) 2022 Chart.js Contributors
 * Released under the MIT License
 */function de(){}const mu=(()=>{let e=0;return()=>e++})();function dt(e){return e===null||typeof e>"u"}function gt(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function tt(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function kt(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Wt(e,t){return kt(e)?e:t}function it(e,t){return typeof e>"u"?t:e}const bu=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100:+e/t,Vl=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function lt(e,t,i){if(e&&typeof e.call=="function")return e.apply(i,t)}function st(e,t,i,n){let s,o,r;if(gt(e))if(o=e.length,n)for(s=o-1;s>=0;s--)t.call(i,e[s],s);else for(s=0;s<o;s++)t.call(i,e[s],s);else if(tt(e))for(r=Object.keys(e),o=r.length,s=0;s<o;s++)t.call(i,e[r[s]],r[s])}function Kn(e,t){let i,n,s,o;if(!e||!t||e.length!==t.length)return!1;for(i=0,n=e.length;i<n;++i)if(s=e[i],o=t[i],s.datasetIndex!==o.datasetIndex||s.index!==o.index)return!1;return!0}function Xn(e){if(gt(e))return e.map(Xn);if(tt(e)){const t=Object.create(null),i=Object.keys(e),n=i.length;let s=0;for(;s<n;++s)t[i[s]]=Xn(e[i[s]]);return t}return e}function Ul(e){return["__proto__","prototype","constructor"].indexOf(e)===-1}function _u(e,t,i,n){if(!Ul(e))return;const s=t[e],o=i[e];tt(s)&&tt(o)?en(s,o,n):t[e]=Xn(o)}function en(e,t,i){const n=gt(t)?t:[t],s=n.length;if(!tt(e))return e;i=i||{};const o=i.merger||_u;let r;for(let a=0;a<s;++a){if(r=n[a],!tt(r))continue;const l=Object.keys(r);for(let c=0,h=l.length;c<h;++c)o(l[c],e,r,i)}return e}function $i(e,t){return en(e,t,{merger:xu})}function xu(e,t,i){if(!Ul(e))return;const n=t[e],s=i[e];tt(n)&&tt(s)?$i(n,s):Object.prototype.hasOwnProperty.call(t,e)||(t[e]=Xn(s))}const Er={"":e=>e,x:e=>e.x,y:e=>e.y};function yu(e){const t=e.split("."),i=[];let n="";for(const s of t)n+=s,n.endsWith("\\")?n=n.slice(0,-1)+".":(i.push(n),n="");return i}function vu(e){const t=yu(e);return i=>{for(const n of t){if(n==="")break;i=i&&i[n]}return i}}function nn(e,t){return(Er[t]||(Er[t]=vu(t)))(e)}function Fo(e){return e.charAt(0).toUpperCase()+e.slice(1)}const ne=e=>typeof e<"u",Ee=e=>typeof e=="function",Ir=(e,t)=>{if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0};function wu(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const _t=Math.PI,pt=2*_t,qn=Number.POSITIVE_INFINITY,Mu=_t/180,mt=_t/2,Ne=_t/4,Rr=_t*2/3,Ce=Math.log10,Zn=Math.sign;function Rn(e,t,i){return Math.abs(e-t)<i}function Fr(e){const t=Math.round(e);e=Rn(e,t,e/1e3)?t:e;const i=Math.pow(10,Math.floor(Ce(e))),n=e/i;return(n<=1?1:n<=2?2:n<=5?5:10)*i}function ku(e){const t=[],i=Math.sqrt(e);let n;for(n=1;n<i;n++)e%n===0&&(t.push(n),t.push(e/n));return i===(i|0)&&t.push(i),t.sort((s,o)=>s-o).pop(),t}function Jn(e){return!isNaN(parseFloat(e))&&isFinite(e)}function Cu(e,t){const i=Math.round(e);return i-t<=e&&i+t>=e}function Yl(e,t,i){let n,s,o;for(n=0,s=e.length;n<s;n++)o=e[n][i],isNaN(o)||(t.min=Math.min(t.min,o),t.max=Math.max(t.max,o))}function ue(e){return e*(_t/180)}function Bo(e){return e*(180/_t)}function Br(e){if(!kt(e))return;let t=1,i=0;for(;Math.round(e*t)/t!==e;)t*=10,i++;return i}function Kl(e,t){const i=t.x-e.x,n=t.y-e.y,s=Math.sqrt(i*i+n*n);let o=Math.atan2(n,i);return o<-.5*_t&&(o+=pt),{angle:o,distance:s}}function Su(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function ce(e){return(e%pt+pt)%pt}function Qn(e,t,i,n){const s=ce(e),o=ce(t),r=ce(i),a=ce(o-s),l=ce(r-s),c=ce(s-o),h=ce(s-r);return s===o||s===r||n&&o===r||a>l&&c<h}function $t(e,t,i){return Math.max(t,Math.min(i,e))}function Pu(e){return $t(e,-32768,32767)}function Ii(e,t,i,n=1e-6){return e>=Math.min(t,i)-n&&e<=Math.max(t,i)+n}function Ho(e,t,i){i=i||(r=>e[r]<t);let n=e.length-1,s=0,o;for(;n-s>1;)o=s+n>>1,i(o)?s=o:n=o;return{lo:s,hi:n}}const oo=(e,t,i,n)=>Ho(e,i,n?s=>{const o=e[s][t];return o<i||o===i&&e[s+1][t]===i}:s=>e[s][t]<i),Ou=(e,t,i)=>Ho(e,i,n=>e[n][t]>=i);function Au(e,t,i){let n=0,s=e.length;for(;n<s&&e[n]<t;)n++;for(;s>n&&e[s-1]>i;)s--;return n>0||s<e.length?e.slice(n,s):e}const Xl=["push","pop","shift","splice","unshift"];function Tu(e,t){if(e._chartjs){e._chartjs.listeners.push(t);return}Object.defineProperty(e,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),Xl.forEach(i=>{const n="_onData"+Fo(i),s=e[i];Object.defineProperty(e,i,{configurable:!0,enumerable:!1,value(...o){const r=s.apply(this,o);return e._chartjs.listeners.forEach(a=>{typeof a[n]=="function"&&a[n](...o)}),r}})})}function Hr(e,t){const i=e._chartjs;if(!i)return;const n=i.listeners,s=n.indexOf(t);s!==-1&&n.splice(s,1),!(n.length>0)&&(Xl.forEach(o=>{delete e[o]}),delete e._chartjs)}function Du(e){const t=new Set;let i,n;for(i=0,n=e.length;i<n;++i)t.add(e[i]);return t.size===n?e:Array.from(t)}const ql=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function Zl(e,t){let i=!1;return function(...n){i||(i=!0,ql.call(window,()=>{i=!1,e.apply(t,n)}))}}function Lu(e,t){let i;return function(...n){return t?(clearTimeout(i),i=setTimeout(e,t,n)):e.apply(this,n),t}}const zo=e=>e==="start"?"left":e==="end"?"right":"center",Ot=(e,t,i)=>e==="start"?t:e==="end"?i:(t+i)/2,Eu=(e,t,i,n)=>e===(n?"left":"right")?i:e==="center"?(t+i)/2:t,bn=e=>e===0||e===1,zr=(e,t,i)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*pt/i)),Nr=(e,t,i)=>Math.pow(2,-10*e)*Math.sin((e-t)*pt/i)+1,Fn={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*mt)+1,easeOutSine:e=>Math.sin(e*mt),easeInOutSine:e=>-.5*(Math.cos(_t*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>bn(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>bn(e)?e:zr(e,.075,.3),easeOutElastic:e=>bn(e)?e:Nr(e,.075,.3),easeInOutElastic(e){return bn(e)?e:e<.5?.5*zr(e*2,.1125,.45):.5+.5*Nr(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Fn.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Fn.easeInBounce(e*2)*.5:Fn.easeOutBounce(e*2-1)*.5+.5};var jr=Fn;/*!
 * @kurkle/color v0.2.1
 * https://github.com/kurkle/color#readme
 * (c) 2022 Jukka Kurkela
 * Released under the MIT License
 */function ln(e){return e+.5|0}const Se=(e,t,i)=>Math.max(Math.min(e,i),t);function Ri(e){return Se(ln(e*2.55),0,255)}function Te(e){return Se(ln(e*255),0,255)}function be(e){return Se(ln(e/2.55)/100,0,1)}function Wr(e){return Se(ln(e*100),0,100)}const Kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},ro=[..."0123456789ABCDEF"],Iu=e=>ro[e&15],Ru=e=>ro[(e&240)>>4]+ro[e&15],_n=e=>(e&240)>>4===(e&15),Fu=e=>_n(e.r)&&_n(e.g)&&_n(e.b)&&_n(e.a);function Bu(e){var t=e.length,i;return e[0]==="#"&&(t===4||t===5?i={r:255&Kt[e[1]]*17,g:255&Kt[e[2]]*17,b:255&Kt[e[3]]*17,a:t===5?Kt[e[4]]*17:255}:(t===7||t===9)&&(i={r:Kt[e[1]]<<4|Kt[e[2]],g:Kt[e[3]]<<4|Kt[e[4]],b:Kt[e[5]]<<4|Kt[e[6]],a:t===9?Kt[e[7]]<<4|Kt[e[8]]:255})),i}const Hu=(e,t)=>e<255?t(e):"";function zu(e){var t=Fu(e)?Iu:Ru;return e?"#"+t(e.r)+t(e.g)+t(e.b)+Hu(e.a,t):void 0}const Nu=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Jl(e,t,i){const n=t*Math.min(i,1-i),s=(o,r=(o+e/30)%12)=>i-n*Math.max(Math.min(r-3,9-r,1),-1);return[s(0),s(8),s(4)]}function ju(e,t,i){const n=(s,o=(s+e/60)%6)=>i-i*t*Math.max(Math.min(o,4-o,1),0);return[n(5),n(3),n(1)]}function Wu(e,t,i){const n=Jl(e,1,.5);let s;for(t+i>1&&(s=1/(t+i),t*=s,i*=s),s=0;s<3;s++)n[s]*=1-t-i,n[s]+=t;return n}function $u(e,t,i,n,s){return e===s?(t-i)/n+(t<i?6:0):t===s?(i-e)/n+2:(e-t)/n+4}function No(e){const i=e.r/255,n=e.g/255,s=e.b/255,o=Math.max(i,n,s),r=Math.min(i,n,s),a=(o+r)/2;let l,c,h;return o!==r&&(h=o-r,c=a>.5?h/(2-o-r):h/(o+r),l=$u(i,n,s,h,o),l=l*60+.5),[l|0,c||0,a]}function jo(e,t,i,n){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,i,n)).map(Te)}function Wo(e,t,i){return jo(Jl,e,t,i)}function Vu(e,t,i){return jo(Wu,e,t,i)}function Uu(e,t,i){return jo(ju,e,t,i)}function Ql(e){return(e%360+360)%360}function Yu(e){const t=Nu.exec(e);let i=255,n;if(!t)return;t[5]!==n&&(i=t[6]?Ri(+t[5]):Te(+t[5]));const s=Ql(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?n=Vu(s,o,r):t[1]==="hsv"?n=Uu(s,o,r):n=Wo(s,o,r),{r:n[0],g:n[1],b:n[2],a:i}}function Ku(e,t){var i=No(e);i[0]=Ql(i[0]+t),i=Wo(i),e.r=i[0],e.g=i[1],e.b=i[2]}function Xu(e){if(!e)return;const t=No(e),i=t[0],n=Wr(t[1]),s=Wr(t[2]);return e.a<255?`+"`"+`hsla(${i}, ${n}%, ${s}%, ${be(e.a)})`+"`"+`:`+"`"+`hsl(${i}, ${n}%, ${s}%)`+"`"+`}const $r={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Vr={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function qu(){const e={},t=Object.keys(Vr),i=Object.keys($r);let n,s,o,r,a;for(n=0;n<t.length;n++){for(r=a=t[n],s=0;s<i.length;s++)o=i[s],a=a.replace(o,$r[o]);o=parseInt(Vr[r],16),e[a]=[o>>16&255,o>>8&255,o&255]}return e}let xn;function Zu(e){xn||(xn=qu(),xn.transparent=[0,0,0,0]);const t=xn[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const Ju=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Qu(e){const t=Ju.exec(e);let i=255,n,s,o;if(!!t){if(t[7]!==n){const r=+t[7];i=t[8]?Ri(r):Se(r*255,0,255)}return n=+t[1],s=+t[3],o=+t[5],n=255&(t[2]?Ri(n):Se(n,0,255)),s=255&(t[4]?Ri(s):Se(s,0,255)),o=255&(t[6]?Ri(o):Se(o,0,255)),{r:n,g:s,b:o,a:i}}}function Gu(e){return e&&(e.a<255?`+"`"+`rgba(${e.r}, ${e.g}, ${e.b}, ${be(e.a)})`+"`"+`:`+"`"+`rgb(${e.r}, ${e.g}, ${e.b})`+"`"+`)}const Bs=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,ai=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function td(e,t,i){const n=ai(be(e.r)),s=ai(be(e.g)),o=ai(be(e.b));return{r:Te(Bs(n+i*(ai(be(t.r))-n))),g:Te(Bs(s+i*(ai(be(t.g))-s))),b:Te(Bs(o+i*(ai(be(t.b))-o))),a:e.a+i*(t.a-e.a)}}function yn(e,t,i){if(e){let n=No(e);n[t]=Math.max(0,Math.min(n[t]+n[t]*i,t===0?360:1)),n=Wo(n),e.r=n[0],e.g=n[1],e.b=n[2]}}function Gl(e,t){return e&&Object.assign(t||{},e)}function Ur(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=Te(e[3]))):(t=Gl(e,{r:0,g:0,b:0,a:1}),t.a=Te(t.a)),t}function ed(e){return e.charAt(0)==="r"?Qu(e):Yu(e)}class Gn{constructor(t){if(t instanceof Gn)return t;const i=typeof t;let n;i==="object"?n=Ur(t):i==="string"&&(n=Bu(t)||Zu(t)||ed(t)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var t=Gl(this._rgb);return t&&(t.a=be(t.a)),t}set rgb(t){this._rgb=Ur(t)}rgbString(){return this._valid?Gu(this._rgb):void 0}hexString(){return this._valid?zu(this._rgb):void 0}hslString(){return this._valid?Xu(this._rgb):void 0}mix(t,i){if(t){const n=this.rgb,s=t.rgb;let o;const r=i===o?.5:i,a=2*r-1,l=n.a-s.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,n.r=255&c*n.r+o*s.r+.5,n.g=255&c*n.g+o*s.g+.5,n.b=255&c*n.b+o*s.b+.5,n.a=r*n.a+(1-r)*s.a,this.rgb=n}return this}interpolate(t,i){return t&&(this._rgb=td(this._rgb,t._rgb,i)),this}clone(){return new Gn(this.rgb)}alpha(t){return this._rgb.a=Te(t),this}clearer(t){const i=this._rgb;return i.a*=1-t,this}greyscale(){const t=this._rgb,i=ln(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=i,this}opaquer(t){const i=this._rgb;return i.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return yn(this._rgb,2,t),this}darken(t){return yn(this._rgb,2,-t),this}saturate(t){return yn(this._rgb,1,t),this}desaturate(t){return yn(this._rgb,1,-t),this}rotate(t){return Ku(this._rgb,t),this}}function tc(e){return new Gn(e)}function ec(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Yr(e){return ec(e)?e:tc(e)}function Hs(e){return ec(e)?e:tc(e).saturate(.5).darken(.1).hexString()}const id=["x","y","borderWidth","radius","tension"],nd=["color","borderColor","backgroundColor"];function sd(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:nd},numbers:{type:"number",properties:id}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function od(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Kr=new Map;function rd(e,t){t=t||{};const i=e+JSON.stringify(t);let n=Kr.get(i);return n||(n=new Intl.NumberFormat(e,t),Kr.set(i,n)),n}function ws(e,t,i){return rd(t,i).format(e)}const ic={values(e){return gt(e)?e:""+e},numeric(e,t,i){if(e===0)return"0";const n=this.chart.options.locale;let s,o=e;if(i.length>1){const c=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(c<1e-4||c>1e15)&&(s="scientific"),o=ad(e,i)}const r=Ce(Math.abs(o)),a=Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:s,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),ws(e,n,l)},logarithmic(e,t,i){if(e===0)return"0";const n=i[t].significand||e/Math.pow(10,Math.floor(Ce(e)));return[1,2,3,5,10,15].includes(n)||t>.8*i.length?ic.numeric.call(this,e,t,i):""}};function ad(e,t){let i=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(i)>=1&&e!==Math.floor(e)&&(i=e-Math.floor(e)),i}var Ms={formatters:ic};function ld(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,i)=>i.lineWidth,tickColor:(t,i)=>i.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ms.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const ei=Object.create(null),ao=Object.create(null);function Vi(e,t){if(!t)return e;const i=t.split(".");for(let n=0,s=i.length;n<s;++n){const o=i[n];e=e[o]||(e[o]=Object.create(null))}return e}function zs(e,t,i){return typeof t=="string"?en(Vi(e,t),i):en(Vi(e,""),t)}class cd{constructor(t,i){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=n=>n.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(n,s)=>Hs(s.backgroundColor),this.hoverBorderColor=(n,s)=>Hs(s.borderColor),this.hoverColor=(n,s)=>Hs(s.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(i)}set(t,i){return zs(this,t,i)}get(t){return Vi(this,t)}describe(t,i){return zs(ao,t,i)}override(t,i){return zs(ei,t,i)}route(t,i,n,s){const o=Vi(this,t),r=Vi(this,n),a="_"+i;Object.defineProperties(o,{[a]:{value:o[i],writable:!0},[i]:{enumerable:!0,get(){const l=this[a],c=r[s];return tt(l)?Object.assign({},c,l):it(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(i=>i(this))}}var bt=new cd({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[sd,od,ld]);function hd(e){return!e||dt(e.size)||dt(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function ts(e,t,i,n,s){let o=t[s];return o||(o=t[s]=e.measureText(s).width,i.push(s)),o>n&&(n=o),n}function fd(e,t,i,n){n=n||{};let s=n.data=n.data||{},o=n.garbageCollect=n.garbageCollect||[];n.font!==t&&(s=n.data={},o=n.garbageCollect=[],n.font=t),e.save(),e.font=t;let r=0;const a=i.length;let l,c,h,f,u;for(l=0;l<a;l++)if(f=i[l],f!=null&&gt(f)!==!0)r=ts(e,s,o,r,f);else if(gt(f))for(c=0,h=f.length;c<h;c++)u=f[c],u!=null&&!gt(u)&&(r=ts(e,s,o,r,u));e.restore();const d=o.length/2;if(d>i.length){for(l=0;l<d;l++)delete s[o[l]];o.splice(0,d)}return r}function je(e,t,i){const n=e.currentDevicePixelRatio,s=i!==0?Math.max(i/2,.5):0;return Math.round((t-s)*n)/n+s}function Xr(e,t){t=t||e.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,e.width,e.height),t.restore()}function qr(e,t,i,n){nc(e,t,i,n,null)}function nc(e,t,i,n,s){let o,r,a,l,c,h,f,u;const d=t.pointStyle,_=t.rotation,p=t.radius;let m=(_||0)*Mu;if(d&&typeof d=="object"&&(o=d.toString(),o==="[object HTMLImageElement]"||o==="[object HTMLCanvasElement]")){e.save(),e.translate(i,n),e.rotate(m),e.drawImage(d,-d.width/2,-d.height/2,d.width,d.height),e.restore();return}if(!(isNaN(p)||p<=0)){switch(e.beginPath(),d){default:s?e.ellipse(i,n,s/2,p,0,0,pt):e.arc(i,n,p,0,pt),e.closePath();break;case"triangle":h=s?s/2:p,e.moveTo(i+Math.sin(m)*h,n-Math.cos(m)*p),m+=Rr,e.lineTo(i+Math.sin(m)*h,n-Math.cos(m)*p),m+=Rr,e.lineTo(i+Math.sin(m)*h,n-Math.cos(m)*p),e.closePath();break;case"rectRounded":c=p*.516,l=p-c,r=Math.cos(m+Ne)*l,f=Math.cos(m+Ne)*(s?s/2-c:l),a=Math.sin(m+Ne)*l,u=Math.sin(m+Ne)*(s?s/2-c:l),e.arc(i-f,n-a,c,m-_t,m-mt),e.arc(i+u,n-r,c,m-mt,m),e.arc(i+f,n+a,c,m,m+mt),e.arc(i-u,n+r,c,m+mt,m+_t),e.closePath();break;case"rect":if(!_){l=Math.SQRT1_2*p,h=s?s/2:l,e.rect(i-h,n-l,2*h,2*l);break}m+=Ne;case"rectRot":f=Math.cos(m)*(s?s/2:p),r=Math.cos(m)*p,a=Math.sin(m)*p,u=Math.sin(m)*(s?s/2:p),e.moveTo(i-f,n-a),e.lineTo(i+u,n-r),e.lineTo(i+f,n+a),e.lineTo(i-u,n+r),e.closePath();break;case"crossRot":m+=Ne;case"cross":f=Math.cos(m)*(s?s/2:p),r=Math.cos(m)*p,a=Math.sin(m)*p,u=Math.sin(m)*(s?s/2:p),e.moveTo(i-f,n-a),e.lineTo(i+f,n+a),e.moveTo(i+u,n-r),e.lineTo(i-u,n+r);break;case"star":f=Math.cos(m)*(s?s/2:p),r=Math.cos(m)*p,a=Math.sin(m)*p,u=Math.sin(m)*(s?s/2:p),e.moveTo(i-f,n-a),e.lineTo(i+f,n+a),e.moveTo(i+u,n-r),e.lineTo(i-u,n+r),m+=Ne,f=Math.cos(m)*(s?s/2:p),r=Math.cos(m)*p,a=Math.sin(m)*p,u=Math.sin(m)*(s?s/2:p),e.moveTo(i-f,n-a),e.lineTo(i+f,n+a),e.moveTo(i+u,n-r),e.lineTo(i-u,n+r);break;case"line":r=s?s/2:Math.cos(m)*p,a=Math.sin(m)*p,e.moveTo(i-r,n-a),e.lineTo(i+r,n+a);break;case"dash":e.moveTo(i,n),e.lineTo(i+Math.cos(m)*(s?s/2:p),n+Math.sin(m)*p);break}e.fill(),t.borderWidth>0&&e.stroke()}}function sc(e,t,i){return i=i||.5,!t||e&&e.x>t.left-i&&e.x<t.right+i&&e.y>t.top-i&&e.y<t.bottom+i}function $o(e,t){e.save(),e.beginPath(),e.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),e.clip()}function Vo(e){e.restore()}function ii(e,t,i,n,s,o={}){const r=gt(t)?t:[t],a=o.strokeWidth>0&&o.strokeColor!=="";let l,c;for(e.save(),e.font=s.string,ud(e,o),l=0;l<r.length;++l)c=r[l],o.backdrop&&gd(e,o.backdrop),a&&(o.strokeColor&&(e.strokeStyle=o.strokeColor),dt(o.strokeWidth)||(e.lineWidth=o.strokeWidth),e.strokeText(c,i,n,o.maxWidth)),e.fillText(c,i,n,o.maxWidth),dd(e,i,n,c,o),n+=s.lineHeight;e.restore()}function ud(e,t){t.translation&&e.translate(t.translation[0],t.translation[1]),dt(t.rotation)||e.rotate(t.rotation),t.color&&(e.fillStyle=t.color),t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline)}function dd(e,t,i,n,s){if(s.strikethrough||s.underline){const o=e.measureText(n),r=t-o.actualBoundingBoxLeft,a=t+o.actualBoundingBoxRight,l=i-o.actualBoundingBoxAscent,c=i+o.actualBoundingBoxDescent,h=s.strikethrough?(l+c)/2:c;e.strokeStyle=e.fillStyle,e.beginPath(),e.lineWidth=s.decorationWidth||2,e.moveTo(r,h),e.lineTo(a,h),e.stroke()}}function gd(e,t){const i=e.fillStyle;e.fillStyle=t.color,e.fillRect(t.left,t.top,t.width,t.height),e.fillStyle=i}function es(e,t){const{x:i,y:n,w:s,h:o,radius:r}=t;e.arc(i+r.topLeft,n+r.topLeft,r.topLeft,-mt,_t,!0),e.lineTo(i,n+o-r.bottomLeft),e.arc(i+r.bottomLeft,n+o-r.bottomLeft,r.bottomLeft,_t,mt,!0),e.lineTo(i+s-r.bottomRight,n+o),e.arc(i+s-r.bottomRight,n+o-r.bottomRight,r.bottomRight,mt,0,!0),e.lineTo(i+s,n+r.topRight),e.arc(i+s-r.topRight,n+r.topRight,r.topRight,0,-mt,!0),e.lineTo(i+r.topLeft,n)}const pd=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,md=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function bd(e,t){const i=(""+e).match(pd);if(!i||i[1]==="normal")return t*1.2;switch(e=+i[2],i[3]){case"px":return e;case"%":e/=100;break}return t*e}const _d=e=>+e||0;function Uo(e,t){const i={},n=tt(t),s=n?Object.keys(t):t,o=tt(e)?n?r=>it(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of s)i[r]=_d(o(r));return i}function xd(e){return Uo(e,{top:"y",right:"x",bottom:"y",left:"x"})}function pi(e){return Uo(e,["topLeft","topRight","bottomLeft","bottomRight"])}function It(e){const t=xd(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function wt(e,t){e=e||{},t=t||bt.font;let i=it(e.size,t.size);typeof i=="string"&&(i=parseInt(i,10));let n=it(e.style,t.style);n&&!(""+n).match(md)&&(console.warn('Invalid font style specified: "'+n+'"'),n=void 0);const s={family:it(e.family,t.family),lineHeight:bd(it(e.lineHeight,t.lineHeight),i),size:i,style:n,weight:it(e.weight,t.weight),string:""};return s.string=hd(s),s}function vn(e,t,i,n){let s=!0,o,r,a;for(o=0,r=e.length;o<r;++o)if(a=e[o],a!==void 0&&(t!==void 0&&typeof a=="function"&&(a=a(t),s=!1),i!==void 0&&gt(a)&&(a=a[i%a.length],s=!1),a!==void 0))return n&&!s&&(n.cacheable=!1),a}function yd(e,t,i){const{min:n,max:s}=e,o=Vl(t,(s-n)/2),r=(a,l)=>i&&a===0?0:a+l;return{min:r(n,-Math.abs(o)),max:r(s,o)}}function ni(e,t){return Object.assign(Object.create(e),t)}function Yo(e,t=[""],i=e,n,s=()=>e[0]){ne(n)||(n=lc("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:i,_fallback:n,_getTarget:s,override:r=>Yo([r,...e],t,i,n)};return new Proxy(o,{deleteProperty(r,a){return delete r[a],delete r._keys,delete e[0][a],!0},get(r,a){return rc(r,a,()=>Od(a,t,e,r))},getOwnPropertyDescriptor(r,a){return Reflect.getOwnPropertyDescriptor(r._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(r,a){return Jr(r).includes(a)},ownKeys(r){return Jr(r)},set(r,a,l){const c=r._storage||(r._storage=s());return r[a]=c[a]=l,delete r._keys,!0}})}function vi(e,t,i,n){const s={_cacheable:!1,_proxy:e,_context:t,_subProxy:i,_stack:new Set,_descriptors:oc(e,n),setContext:o=>vi(e,o,i,n),override:o=>vi(e.override(o),t,i,n)};return new Proxy(s,{deleteProperty(o,r){return delete o[r],delete e[r],!0},get(o,r,a){return rc(o,r,()=>wd(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(e,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,r)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(o,r){return Reflect.has(e,r)},ownKeys(){return Reflect.ownKeys(e)},set(o,r,a){return e[r]=a,delete o[r],!0}})}function oc(e,t={scriptable:!0,indexable:!0}){const{_scriptable:i=t.scriptable,_indexable:n=t.indexable,_allKeys:s=t.allKeys}=e;return{allKeys:s,scriptable:i,indexable:n,isScriptable:Ee(i)?i:()=>i,isIndexable:Ee(n)?n:()=>n}}const vd=(e,t)=>e?e+Fo(t):t,Ko=(e,t)=>tt(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function rc(e,t,i){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const n=i();return e[t]=n,n}function wd(e,t,i){const{_proxy:n,_context:s,_subProxy:o,_descriptors:r}=e;let a=n[t];return Ee(a)&&r.isScriptable(t)&&(a=Md(t,a,e,i)),gt(a)&&a.length&&(a=kd(t,a,e,r.isIndexable)),Ko(t,a)&&(a=vi(a,s,o&&o[t],r)),a}function Md(e,t,i,n){const{_proxy:s,_context:o,_subProxy:r,_stack:a}=i;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);return a.add(e),t=t(o,r||n),a.delete(e),Ko(e,t)&&(t=Xo(s._scopes,s,e,t)),t}function kd(e,t,i,n){const{_proxy:s,_context:o,_subProxy:r,_descriptors:a}=i;if(ne(o.index)&&n(e))t=t[o.index%t.length];else if(tt(t[0])){const l=t,c=s._scopes.filter(h=>h!==l);t=[];for(const h of l){const f=Xo(c,s,e,h);t.push(vi(f,o,r&&r[e],a))}}return t}function ac(e,t,i){return Ee(e)?e(t,i):e}const Cd=(e,t)=>e===!0?t:typeof e=="string"?nn(t,e):void 0;function Sd(e,t,i,n,s){for(const o of t){const r=Cd(i,o);if(r){e.add(r);const a=ac(r._fallback,i,s);if(ne(a)&&a!==i&&a!==n)return a}else if(r===!1&&ne(n)&&i!==n)return null}return!1}function Xo(e,t,i,n){const s=t._rootScopes,o=ac(t._fallback,i,n),r=[...e,...s],a=new Set;a.add(n);let l=Zr(a,r,i,o||i,n);return l===null||ne(o)&&o!==i&&(l=Zr(a,r,o,l,n),l===null)?!1:Yo(Array.from(a),[""],s,o,()=>Pd(t,i,n))}function Zr(e,t,i,n,s){for(;i;)i=Sd(e,t,i,n,s);return i}function Pd(e,t,i){const n=e._getTarget();t in n||(n[t]={});const s=n[t];return gt(s)&&tt(i)?i:s||{}}function Od(e,t,i,n){let s;for(const o of t)if(s=lc(vd(o,e),i),ne(s))return Ko(e,s)?Xo(i,n,e,s):s}function lc(e,t){for(const i of t){if(!i)continue;const n=i[e];if(ne(n))return n}}function Jr(e){let t=e._keys;return t||(t=e._keys=Ad(e._scopes)),t}function Ad(e){const t=new Set;for(const i of e)for(const n of Object.keys(i).filter(s=>!s.startsWith("_")))t.add(n);return Array.from(t)}function cc(){return typeof window<"u"&&typeof document<"u"}function qo(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function is(e,t,i){let n;return typeof e=="string"?(n=parseInt(e,10),e.indexOf("%")!==-1&&(n=n/100*t.parentNode[i])):n=e,n}const ks=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Td(e,t){return ks(e).getPropertyValue(t)}const Dd=["top","right","bottom","left"];function Ge(e,t,i){const n={};i=i?"-"+i:"";for(let s=0;s<4;s++){const o=Dd[s];n[o]=parseFloat(e[t+"-"+o+i])||0}return n.width=n.left+n.right,n.height=n.top+n.bottom,n}const Ld=(e,t,i)=>(e>0||t>0)&&(!i||!i.shadowRoot);function Ed(e,t){const i=e.touches,n=i&&i.length?i[0]:e,{offsetX:s,offsetY:o}=n;let r=!1,a,l;if(Ld(s,o,e.target))a=s,l=o;else{const c=t.getBoundingClientRect();a=n.clientX-c.left,l=n.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function Ue(e,t){if("native"in e)return e;const{canvas:i,currentDevicePixelRatio:n}=t,s=ks(i),o=s.boxSizing==="border-box",r=Ge(s,"padding"),a=Ge(s,"border","width"),{x:l,y:c,box:h}=Ed(e,i),f=r.left+(h&&a.left),u=r.top+(h&&a.top);let{width:d,height:_}=t;return o&&(d-=r.width+a.width,_-=r.height+a.height),{x:Math.round((l-f)/d*i.width/n),y:Math.round((c-u)/_*i.height/n)}}function Id(e,t,i){let n,s;if(t===void 0||i===void 0){const o=qo(e);if(!o)t=e.clientWidth,i=e.clientHeight;else{const r=o.getBoundingClientRect(),a=ks(o),l=Ge(a,"border","width"),c=Ge(a,"padding");t=r.width-c.width-l.width,i=r.height-c.height-l.height,n=is(a.maxWidth,o,"clientWidth"),s=is(a.maxHeight,o,"clientHeight")}}return{width:t,height:i,maxWidth:n||qn,maxHeight:s||qn}}const wn=e=>Math.round(e*10)/10;function Rd(e,t,i,n){const s=ks(e),o=Ge(s,"margin"),r=is(s.maxWidth,e,"clientWidth")||qn,a=is(s.maxHeight,e,"clientHeight")||qn,l=Id(e,t,i);let{width:c,height:h}=l;if(s.boxSizing==="content-box"){const u=Ge(s,"border","width"),d=Ge(s,"padding");c-=d.width+u.width,h-=d.height+u.height}return c=Math.max(0,c-o.width),h=Math.max(0,n?Math.floor(c/n):h-o.height),c=wn(Math.min(c,r,l.maxWidth)),h=wn(Math.min(h,a,l.maxHeight)),c&&!h&&(h=wn(c/2)),(t!==void 0||i!==void 0)&&n&&l.height&&h>l.height&&(h=l.height,c=wn(Math.floor(h*n))),{width:c,height:h}}function Qr(e,t,i){const n=t||1,s=Math.floor(e.height*n),o=Math.floor(e.width*n);e.height=s/n,e.width=o/n;const r=e.canvas;return r.style&&(i||!r.style.height&&!r.style.width)&&(r.style.height=`+"`"+`${e.height}px`+"`"+`,r.style.width=`+"`"+`${e.width}px`+"`"+`),e.currentDevicePixelRatio!==n||r.height!==s||r.width!==o?(e.currentDevicePixelRatio=n,r.height=s,r.width=o,e.ctx.setTransform(n,0,0,n,0,0),!0):!1}const Fd=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Gr(e,t){const i=Td(e,t),n=i&&i.match(/^(\d+)(\.\d+)?px$/);return n?+n[1]:void 0}const Bd=function(e,t){return{x(i){return e+e+t-i},setWidth(i){t=i},textAlign(i){return i==="center"?i:i==="right"?"left":"right"},xPlus(i,n){return i-n},leftForLtr(i,n){return i-n}}},Hd=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function mi(e,t,i){return e?Bd(t,i):Hd()}function hc(e,t){let i,n;(t==="ltr"||t==="rtl")&&(i=e.canvas.style,n=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",t,"important"),e.prevTextDirection=n)}function fc(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*!
 * Chart.js v4.0.1
 * https://www.chartjs.org
 * (c) 2022 Chart.js Contributors
 * Released under the MIT License
 */class zd{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,i,n,s){const o=i.listeners[s],r=i.duration;o.forEach(a=>a({chart:t,initial:i.initial,numSteps:r,currentStep:Math.min(n-i.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=ql.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let i=0;this._charts.forEach((n,s)=>{if(!n.running||!n.items.length)return;const o=n.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>n.duration&&(n.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(s.draw(),this._notify(s,n,t,"progress")),o.length||(n.running=!1,this._notify(s,n,t,"complete"),n.initial=!1),i+=o.length}),this._lastDate=t,i===0&&(this._running=!1)}_getAnims(t){const i=this._charts;let n=i.get(t);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},i.set(t,n)),n}listen(t,i,n){this._getAnims(t).listeners[i].push(n)}add(t,i){!i||!i.length||this._getAnims(t).items.push(...i)}has(t){return this._getAnims(t).items.length>0}start(t){const i=this._charts.get(t);!i||(i.running=!0,i.start=Date.now(),i.duration=i.items.reduce((n,s)=>Math.max(n,s._duration),0),this._refresh())}running(t){if(!this._running)return!1;const i=this._charts.get(t);return!(!i||!i.running||!i.items.length)}stop(t){const i=this._charts.get(t);if(!i||!i.items.length)return;const n=i.items;let s=n.length-1;for(;s>=0;--s)n[s].cancel();i.items=[],this._notify(t,i,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var ge=new zd;const ta="transparent",Nd={boolean(e,t,i){return i>.5?t:e},color(e,t,i){const n=Yr(e||ta),s=n.valid&&Yr(t||ta);return s&&s.valid?s.mix(n,i).hexString():t},number(e,t,i){return e+(t-e)*i}};class jd{constructor(t,i,n,s){const o=i[n];s=vn([t.to,s,o,t.from]);const r=vn([t.from,o,s]);this._active=!0,this._fn=t.fn||Nd[t.type||typeof r],this._easing=jr[t.easing]||jr.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=i,this._prop=n,this._from=r,this._to=s,this._promises=void 0}active(){return this._active}update(t,i,n){if(this._active){this._notify(!1);const s=this._target[this._prop],o=n-this._start,r=this._duration-o;this._start=n,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=vn([t.to,i,s,t.from]),this._from=vn([t.from,s,i])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const i=t-this._start,n=this._duration,s=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||i<n),!this._active){this._target[s]=a,this._notify(!0);return}if(i<0){this._target[s]=o;return}l=i/n%2,l=r&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[s]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((i,n)=>{t.push({res:i,rej:n})})}_notify(t){const i=t?"res":"rej",n=this._promises||[];for(let s=0;s<n.length;s++)n[s][i]()}}class uc{constructor(t,i){this._chart=t,this._properties=new Map,this.configure(i)}configure(t){if(!tt(t))return;const i=Object.keys(bt.animation),n=this._properties;Object.getOwnPropertyNames(t).forEach(s=>{const o=t[s];if(!tt(o))return;const r={};for(const a of i)r[a]=o[a];(gt(o.properties)&&o.properties||[s]).forEach(a=>{(a===s||!n.has(a))&&n.set(a,r)})})}_animateOptions(t,i){const n=i.options,s=$d(t,n);if(!s)return[];const o=this._createAnimations(s,n);return n.$shared&&Wd(t.options.$animations,n).then(()=>{t.options=n},()=>{}),o}_createAnimations(t,i){const n=this._properties,s=[],o=t.$animations||(t.$animations={}),r=Object.keys(i),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){s.push(...this._animateOptions(t,i));continue}const h=i[c];let f=o[c];const u=n.get(c);if(f)if(u&&f.active()){f.update(u,h,a);continue}else f.cancel();if(!u||!u.duration){t[c]=h;continue}o[c]=f=new jd(u,t,c,h),s.push(f)}return s}update(t,i){if(this._properties.size===0){Object.assign(t,i);return}const n=this._createAnimations(t,i);if(n.length)return ge.add(this._chart,n),!0}}function Wd(e,t){const i=[],n=Object.keys(t);for(let s=0;s<n.length;s++){const o=e[n[s]];o&&o.active()&&i.push(o.wait())}return Promise.all(i)}function $d(e,t){if(!t)return;let i=e.options;if(!i){e.options=t;return}return i.$shared&&(e.options=i=Object.assign({},i,{$shared:!1,$animations:{}})),i}function ea(e,t){const i=e&&e.options||{},n=i.reverse,s=i.min===void 0?t:0,o=i.max===void 0?t:0;return{start:n?o:s,end:n?s:o}}function Vd(e,t,i){if(i===!1)return!1;const n=ea(e,i),s=ea(t,i);return{top:s.end,right:n.end,bottom:s.start,left:n.start}}function Ud(e){let t,i,n,s;return tt(e)?(t=e.top,i=e.right,n=e.bottom,s=e.left):t=i=n=s=e,{top:t,right:i,bottom:n,left:s,disabled:e===!1}}function dc(e,t){const i=[],n=e._getSortedDatasetMetas(t);let s,o;for(s=0,o=n.length;s<o;++s)i.push(n[s].index);return i}function ia(e,t,i,n={}){const s=e.keys,o=n.mode==="single";let r,a,l,c;if(t!==null){for(r=0,a=s.length;r<a;++r){if(l=+s[r],l===i){if(n.all)continue;break}c=e.values[l],kt(c)&&(o||t===0||Zn(t)===Zn(c))&&(t+=c)}return t}}function Yd(e){const t=Object.keys(e),i=new Array(t.length);let n,s,o;for(n=0,s=t.length;n<s;++n)o=t[n],i[n]={x:o,y:e[o]};return i}function na(e,t){const i=e&&e.options.stacked;return i||i===void 0&&t.stack!==void 0}function Kd(e,t,i){return`+"`"+`${e.id}.${t.id}.${i.stack||i.type}`+"`"+`}function Xd(e){const{min:t,max:i,minDefined:n,maxDefined:s}=e.getUserBounds();return{min:n?t:Number.NEGATIVE_INFINITY,max:s?i:Number.POSITIVE_INFINITY}}function qd(e,t,i){const n=e[t]||(e[t]={});return n[i]||(n[i]={})}function sa(e,t,i,n){for(const s of t.getMatchingVisibleMetas(n).reverse()){const o=e[s.index];if(i&&o>0||!i&&o<0)return s.index}return null}function oa(e,t){const{chart:i,_cachedMeta:n}=e,s=i._stacks||(i._stacks={}),{iScale:o,vScale:r,index:a}=n,l=o.axis,c=r.axis,h=Kd(o,r,n),f=t.length;let u;for(let d=0;d<f;++d){const _=t[d],{[l]:p,[c]:m}=_,x=_._stacks||(_._stacks={});u=x[c]=qd(s,h,p),u[a]=m,u._top=sa(u,r,!0,n.type),u._bottom=sa(u,r,!1,n.type)}}function Ns(e,t){const i=e.scales;return Object.keys(i).filter(n=>i[n].axis===t).shift()}function Zd(e,t){return ni(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Jd(e,t,i){return ni(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:i,index:t,mode:"default",type:"data"})}function Oi(e,t){const i=e.controller.index,n=e.vScale&&e.vScale.axis;if(!!n){t=t||e._parsed;for(const s of t){const o=s._stacks;if(!o||o[n]===void 0||o[n][i]===void 0)return;delete o[n][i]}}}const js=e=>e==="reset"||e==="none",ra=(e,t)=>t?e:Object.assign({},e),Qd=(e,t,i)=>e&&!t.hidden&&t._stacked&&{keys:dc(i,!0),values:null};class Ui{constructor(t,i){this.chart=t,this._ctx=t.ctx,this.index=i,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=na(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Oi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,i=this._cachedMeta,n=this.getDataset(),s=(f,u,d,_)=>f==="x"?u:f==="r"?_:d,o=i.xAxisID=it(n.xAxisID,Ns(t,"x")),r=i.yAxisID=it(n.yAxisID,Ns(t,"y")),a=i.rAxisID=it(n.rAxisID,Ns(t,"r")),l=i.indexAxis,c=i.iAxisID=s(l,o,r,a),h=i.vAxisID=s(l,r,o,a);i.xScale=this.getScaleForId(o),i.yScale=this.getScaleForId(r),i.rScale=this.getScaleForId(a),i.iScale=this.getScaleForId(c),i.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const i=this._cachedMeta;return t===i.iScale?i.vScale:i.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Hr(this._data,this),t._stacked&&Oi(t)}_dataCheck(){const t=this.getDataset(),i=t.data||(t.data=[]),n=this._data;if(tt(i))this._data=Yd(i);else if(n!==i){if(n){Hr(n,this);const s=this._cachedMeta;Oi(s),s._parsed=[]}i&&Object.isExtensible(i)&&Tu(i,this),this._syncList=[],this._data=i}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const i=this._cachedMeta,n=this.getDataset();let s=!1;this._dataCheck();const o=i._stacked;i._stacked=na(i.vScale,i),i.stack!==n.stack&&(s=!0,Oi(i),i.stack=n.stack),this._resyncElements(t),(s||o!==i._stacked)&&oa(this,i._parsed)}configure(){const t=this.chart.config,i=t.datasetScopeKeys(this._type),n=t.getOptionScopes(this.getDataset(),i,!0);this.options=t.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,i){const{_cachedMeta:n,_data:s}=this,{iScale:o,_stacked:r}=n,a=o.axis;let l=t===0&&i===s.length?!0:n._sorted,c=t>0&&n._parsed[t-1],h,f,u;if(this._parsing===!1)n._parsed=s,n._sorted=!0,u=s;else{gt(s[t])?u=this.parseArrayData(n,s,t,i):tt(s[t])?u=this.parseObjectData(n,s,t,i):u=this.parsePrimitiveData(n,s,t,i);const d=()=>f[a]===null||c&&f[a]<c[a];for(h=0;h<i;++h)n._parsed[h+t]=f=u[h],l&&(d()&&(l=!1),c=f);n._sorted=l}r&&oa(this,u)}parsePrimitiveData(t,i,n,s){const{iScale:o,vScale:r}=t,a=o.axis,l=r.axis,c=o.getLabels(),h=o===r,f=new Array(s);let u,d,_;for(u=0,d=s;u<d;++u)_=u+n,f[u]={[a]:h||o.parse(c[_],_),[l]:r.parse(i[_],_)};return f}parseArrayData(t,i,n,s){const{xScale:o,yScale:r}=t,a=new Array(s);let l,c,h,f;for(l=0,c=s;l<c;++l)h=l+n,f=i[h],a[l]={x:o.parse(f[0],h),y:r.parse(f[1],h)};return a}parseObjectData(t,i,n,s){const{xScale:o,yScale:r}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=new Array(s);let h,f,u,d;for(h=0,f=s;h<f;++h)u=h+n,d=i[u],c[h]={x:o.parse(nn(d,a),u),y:r.parse(nn(d,l),u)};return c}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,i,n){const s=this.chart,o=this._cachedMeta,r=i[t.axis],a={keys:dc(s,!0),values:i._stacks[t.axis]};return ia(a,r,o.index,{mode:n})}updateRangeFromParsed(t,i,n,s){const o=n[i.axis];let r=o===null?NaN:o;const a=s&&n._stacks[i.axis];s&&a&&(s.values=a,r=ia(s,o,this._cachedMeta.index)),t.min=Math.min(t.min,r),t.max=Math.max(t.max,r)}getMinMax(t,i){const n=this._cachedMeta,s=n._parsed,o=n._sorted&&t===n.iScale,r=s.length,a=this._getOtherScale(t),l=Qd(i,n,this.chart),c={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:f}=Xd(a);let u,d;function _(){d=s[u];const p=d[a.axis];return!kt(d[t.axis])||h>p||f<p}for(u=0;u<r&&!(!_()&&(this.updateRangeFromParsed(c,t,d,l),o));++u);if(o){for(u=r-1;u>=0;--u)if(!_()){this.updateRangeFromParsed(c,t,d,l);break}}return c}getAllParsedValues(t){const i=this._cachedMeta._parsed,n=[];let s,o,r;for(s=0,o=i.length;s<o;++s)r=i[s][t.axis],kt(r)&&n.push(r);return n}getMaxOverflow(){return!1}getLabelAndValue(t){const i=this._cachedMeta,n=i.iScale,s=i.vScale,o=this.getParsed(t);return{label:n?""+n.getLabelForValue(o[n.axis]):"",value:s?""+s.getLabelForValue(o[s.axis]):""}}_update(t){const i=this._cachedMeta;this.update(t||"default"),i._clip=Ud(it(this.options.clip,Vd(i.xScale,i.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,i=this.chart,n=this._cachedMeta,s=n.data||[],o=i.chartArea,r=[],a=this._drawStart||0,l=this._drawCount||s.length-a,c=this.options.drawActiveElementsOnTop;let h;for(n.dataset&&n.dataset.draw(t,o,a,l),h=a;h<a+l;++h){const f=s[h];f.hidden||(f.active&&c?r.push(f):f.draw(t,o))}for(h=0;h<r.length;++h)r[h].draw(t,o)}getStyle(t,i){const n=i?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(n):this.resolveDataElementOptions(t||0,n)}getContext(t,i,n){const s=this.getDataset();let o;if(t>=0&&t<this._cachedMeta.data.length){const r=this._cachedMeta.data[t];o=r.$context||(r.$context=Jd(this.getContext(),t,r)),o.parsed=this.getParsed(t),o.raw=s.data[t],o.index=o.dataIndex=t}else o=this.$context||(this.$context=Zd(this.chart.getContext(),this.index)),o.dataset=s,o.index=o.datasetIndex=this.index;return o.active=!!i,o.mode=n,o}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,i){return this._resolveElementOptions(this.dataElementType.id,i,t)}_resolveElementOptions(t,i="default",n){const s=i==="active",o=this._cachedDataOpts,r=t+"-"+i,a=o[r],l=this.enableOptionSharing&&ne(n);if(a)return ra(a,l);const c=this.chart.config,h=c.datasetElementScopeKeys(this._type,t),f=s?[`+"`"+`${t}Hover`+"`"+`,"hover",t,""]:[t,""],u=c.getOptionScopes(this.getDataset(),h),d=Object.keys(bt.elements[t]),_=()=>this.getContext(n,s),p=c.resolveNamedOptions(u,d,_,f);return p.$shared&&(p.$shared=l,o[r]=Object.freeze(ra(p,l))),p}_resolveAnimations(t,i,n){const s=this.chart,o=this._cachedDataOpts,r=`+"`"+`animation-${i}`+"`"+`,a=o[r];if(a)return a;let l;if(s.options.animation!==!1){const h=this.chart.config,f=h.datasetAnimationScopeKeys(this._type,i),u=h.getOptionScopes(this.getDataset(),f);l=h.createResolver(u,this.getContext(t,n,i))}const c=new uc(s,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(!!t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,i){return!i||js(t)||this.chart._animationsDisabled}_getSharedOptions(t,i){const n=this.resolveDataElementOptions(t,i),s=this._sharedOptions,o=this.getSharedOptions(n),r=this.includeOptions(i,o)||o!==s;return this.updateSharedOptions(o,i,n),{sharedOptions:o,includeOptions:r}}updateElement(t,i,n,s){js(s)?Object.assign(t,n):this._resolveAnimations(i,s).update(t,n)}updateSharedOptions(t,i,n){t&&!js(i)&&this._resolveAnimations(void 0,i).update(t,n)}_setStyle(t,i,n,s){t.active=s;const o=this.getStyle(i,s);this._resolveAnimations(i,n,s).update(t,{options:!s&&this.getSharedOptions(o)||o})}removeHoverStyle(t,i,n){this._setStyle(t,n,"active",!1)}setHoverStyle(t,i,n){this._setStyle(t,n,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const i=this._data,n=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const s=n.length,o=i.length,r=Math.min(o,s);r&&this.parse(0,r),o>s?this._insertElements(s,o-s,t):o<s&&this._removeElements(o,s-o)}_insertElements(t,i,n=!0){const s=this._cachedMeta,o=s.data,r=t+i;let a;const l=c=>{for(c.length+=i,a=c.length-1;a>=r;a--)c[a]=c[a-i]};for(l(o),a=t;a<r;++a)o[a]=new this.dataElementType;this._parsing&&l(s._parsed),this.parse(t,i),n&&this.updateElements(o,t,i,"reset")}updateElements(t,i,n,s){}_removeElements(t,i){const n=this._cachedMeta;if(this._parsing){const s=n._parsed.splice(t,i);n._stacked&&Oi(n,s)}n.data.splice(t,i)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[i,n,s]=t;this[i](n,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,i){i&&this._sync(["_removeElements",t,i]);const n=arguments.length-2;n&&this._sync(["_insertElements",t,n])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}Z(Ui,"defaults",{}),Z(Ui,"datasetElementType",null),Z(Ui,"dataElementType",null);function Gd(e,t,i){let n=1,s=1,o=0,r=0;if(t<pt){const a=e,l=a+t,c=Math.cos(a),h=Math.sin(a),f=Math.cos(l),u=Math.sin(l),d=(y,P,S)=>Qn(y,a,l,!0)?1:Math.max(P,P*i,S,S*i),_=(y,P,S)=>Qn(y,a,l,!0)?-1:Math.min(P,P*i,S,S*i),p=d(0,c,f),m=d(mt,h,u),x=_(_t,c,f),w=_(_t+mt,h,u);n=(p-x)/2,s=(m-w)/2,o=-(p+x)/2,r=-(m+w)/2}return{ratioX:n,ratioY:s,offsetX:o,offsetY:r}}class Fi extends Ui{constructor(t,i){super(t,i),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,i){const n=this.getDataset().data,s=this._cachedMeta;if(this._parsing===!1)s._parsed=n;else{let o=l=>+n[l];if(tt(n[t])){const{key:l="value"}=this._parsing;o=c=>+nn(n[c],l)}let r,a;for(r=t,a=t+i;r<a;++r)s._parsed[r]=o(r)}}_getRotation(){return ue(this.options.rotation-90)}_getCircumference(){return ue(this.options.circumference)}_getRotationExtents(){let t=pt,i=-pt;for(let n=0;n<this.chart.data.datasets.length;++n)if(this.chart.isDatasetVisible(n)&&this.chart.getDatasetMeta(n).type===this._type){const s=this.chart.getDatasetMeta(n).controller,o=s._getRotation(),r=s._getCircumference();t=Math.min(t,o),i=Math.max(i,o+r)}return{rotation:t,circumference:i-t}}update(t){const i=this.chart,{chartArea:n}=i,s=this._cachedMeta,o=s.data,r=this.getMaxBorderWidth()+this.getMaxOffset(o)+this.options.spacing,a=Math.max((Math.min(n.width,n.height)-r)/2,0),l=Math.min(bu(this.options.cutout,a),1),c=this._getRingWeight(this.index),{circumference:h,rotation:f}=this._getRotationExtents(),{ratioX:u,ratioY:d,offsetX:_,offsetY:p}=Gd(f,h,l),m=(n.width-r)/u,x=(n.height-r)/d,w=Math.max(Math.min(m,x)/2,0),y=Vl(this.options.radius,w),P=Math.max(y*l,0),S=(y-P)/this._getVisibleDatasetWeightTotal();this.offsetX=_*y,this.offsetY=p*y,s.total=this.calculateTotal(),this.outerRadius=y-S*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-S*c,0),this.updateElements(o,0,o.length,t)}_circumference(t,i){const n=this.options,s=this._cachedMeta,o=this._getCircumference();return i&&n.animation.animateRotate||!this.chart.getDataVisibility(t)||s._parsed[t]===null||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*o/pt)}updateElements(t,i,n,s){const o=s==="reset",r=this.chart,a=r.chartArea,c=r.options.animation,h=(a.left+a.right)/2,f=(a.top+a.bottom)/2,u=o&&c.animateScale,d=u?0:this.innerRadius,_=u?0:this.outerRadius,{sharedOptions:p,includeOptions:m}=this._getSharedOptions(i,s);let x=this._getRotation(),w;for(w=0;w<i;++w)x+=this._circumference(w,o);for(w=i;w<i+n;++w){const y=this._circumference(w,o),P=t[w],S={x:h+this.offsetX,y:f+this.offsetY,startAngle:x,endAngle:x+y,circumference:y,outerRadius:_,innerRadius:d};m&&(S.options=p||this.resolveDataElementOptions(w,P.active?"active":s)),x+=y,this.updateElement(P,w,S,s)}}calculateTotal(){const t=this._cachedMeta,i=t.data;let n=0,s;for(s=0;s<i.length;s++){const o=t._parsed[s];o!==null&&!isNaN(o)&&this.chart.getDataVisibility(s)&&!i[s].hidden&&(n+=Math.abs(o))}return n}calculateCircumference(t){const i=this._cachedMeta.total;return i>0&&!isNaN(t)?pt*(Math.abs(t)/i):0}getLabelAndValue(t){const i=this._cachedMeta,n=this.chart,s=n.data.labels||[],o=ws(i._parsed[t],n.options.locale);return{label:s[t]||"",value:o}}getMaxBorderWidth(t){let i=0;const n=this.chart;let s,o,r,a,l;if(!t){for(s=0,o=n.data.datasets.length;s<o;++s)if(n.isDatasetVisible(s)){r=n.getDatasetMeta(s),t=r.data,a=r.controller;break}}if(!t)return 0;for(s=0,o=t.length;s<o;++s)l=a.resolveDataElementOptions(s),l.borderAlign!=="inner"&&(i=Math.max(i,l.borderWidth||0,l.hoverBorderWidth||0));return i}getMaxOffset(t){let i=0;for(let n=0,s=t.length;n<s;++n){const o=this.resolveDataElementOptions(n);i=Math.max(i,o.offset||0,o.hoverOffset||0)}return i}_getRingWeightOffset(t){let i=0;for(let n=0;n<t;++n)this.chart.isDatasetVisible(n)&&(i+=this._getRingWeight(n));return i}_getRingWeight(t){return Math.max(it(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}Z(Fi,"id","doughnut"),Z(Fi,"defaults",{datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"}),Z(Fi,"descriptors",{_scriptable:t=>t!=="spacing",_indexable:t=>t!=="spacing"}),Z(Fi,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const i=t.data;if(i.labels.length&&i.datasets.length){const{labels:{pointStyle:n,color:s}}=t.legend.options;return i.labels.map((o,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:s,lineWidth:l.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,i,n){n.chart.toggleDataVisibility(i.index),n.chart.update()}}}});class lo extends Fi{}Z(lo,"id","pie"),Z(lo,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});function We(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Zo{static override(t){Object.assign(Zo.prototype,t)}constructor(t){this.options=t||{}}init(){}formats(){return We()}parse(){return We()}format(){return We()}add(){return We()}diff(){return We()}startOf(){return We()}endOf(){return We()}}var tg={_date:Zo};function eg(e,t,i,n){const{controller:s,data:o,_sorted:r}=e,a=s._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const l=a._reversePixels?Ou:oo;if(n){if(s._sharedOptions){const c=o[0],h=typeof c.getRange=="function"&&c.getRange(t);if(h){const f=l(o,t,i-h),u=l(o,t,i+h);return{lo:f.lo,hi:u.hi}}}}else return l(o,t,i)}return{lo:0,hi:o.length-1}}function cn(e,t,i,n,s){const o=e.getSortedVisibleDatasetMetas(),r=i[t];for(let a=0,l=o.length;a<l;++a){const{index:c,data:h}=o[a],{lo:f,hi:u}=eg(o[a],t,r,s);for(let d=f;d<=u;++d){const _=h[d];_.skip||n(_,c,d)}}}function ig(e){const t=e.indexOf("x")!==-1,i=e.indexOf("y")!==-1;return function(n,s){const o=t?Math.abs(n.x-s.x):0,r=i?Math.abs(n.y-s.y):0;return Math.sqrt(Math.pow(o,2)+Math.pow(r,2))}}function Ws(e,t,i,n,s){const o=[];return!s&&!e.isPointInArea(t)||cn(e,i,t,function(a,l,c){!s&&!sc(a,e.chartArea,0)||a.inRange(t.x,t.y,n)&&o.push({element:a,datasetIndex:l,index:c})},!0),o}function ng(e,t,i,n){let s=[];function o(r,a,l){const{startAngle:c,endAngle:h}=r.getProps(["startAngle","endAngle"],n),{angle:f}=Kl(r,{x:t.x,y:t.y});Qn(f,c,h)&&s.push({element:r,datasetIndex:a,index:l})}return cn(e,i,t,o),s}function sg(e,t,i,n,s,o){let r=[];const a=ig(i);let l=Number.POSITIVE_INFINITY;function c(h,f,u){const d=h.inRange(t.x,t.y,s);if(n&&!d)return;const _=h.getCenterPoint(s);if(!(!!o||e.isPointInArea(_))&&!d)return;const m=a(t,_);m<l?(r=[{element:h,datasetIndex:f,index:u}],l=m):m===l&&r.push({element:h,datasetIndex:f,index:u})}return cn(e,i,t,c),r}function $s(e,t,i,n,s,o){return!o&&!e.isPointInArea(t)?[]:i==="r"&&!n?ng(e,t,i,s):sg(e,t,i,n,s,o)}function aa(e,t,i,n,s){const o=[],r=i==="x"?"inXRange":"inYRange";let a=!1;return cn(e,i,t,(l,c,h)=>{l[r](t[i],s)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,s))}),n&&!a?[]:o}var og={evaluateInteractionItems:cn,modes:{index(e,t,i,n){const s=Ue(t,e),o=i.axis||"x",r=i.includeInvisible||!1,a=i.intersect?Ws(e,s,o,n,r):$s(e,s,o,!1,n,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const h=a[0].index,f=c.data[h];f&&!f.skip&&l.push({element:f,datasetIndex:c.index,index:h})}),l):[]},dataset(e,t,i,n){const s=Ue(t,e),o=i.axis||"xy",r=i.includeInvisible||!1;let a=i.intersect?Ws(e,s,o,n,r):$s(e,s,o,!1,n,r);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let h=0;h<c.length;++h)a.push({element:c[h],datasetIndex:l,index:h})}return a},point(e,t,i,n){const s=Ue(t,e),o=i.axis||"xy",r=i.includeInvisible||!1;return Ws(e,s,o,n,r)},nearest(e,t,i,n){const s=Ue(t,e),o=i.axis||"xy",r=i.includeInvisible||!1;return $s(e,s,o,i.intersect,n,r)},x(e,t,i,n){const s=Ue(t,e);return aa(e,s,"x",i.intersect,n)},y(e,t,i,n){const s=Ue(t,e);return aa(e,s,"y",i.intersect,n)}}};const gc=["left","top","right","bottom"];function Ai(e,t){return e.filter(i=>i.pos===t)}function la(e,t){return e.filter(i=>gc.indexOf(i.pos)===-1&&i.box.axis===t)}function Ti(e,t){return e.sort((i,n)=>{const s=t?n:i,o=t?i:n;return s.weight===o.weight?s.index-o.index:s.weight-o.weight})}function rg(e){const t=[];let i,n,s,o,r,a;for(i=0,n=(e||[]).length;i<n;++i)s=e[i],{position:o,options:{stack:r,stackWeight:a=1}}=s,t.push({index:i,box:s,pos:o,horizontal:s.isHorizontal(),weight:s.weight,stack:r&&o+r,stackWeight:a});return t}function ag(e){const t={};for(const i of e){const{stack:n,pos:s,stackWeight:o}=i;if(!n||!gc.includes(s))continue;const r=t[n]||(t[n]={count:0,placed:0,weight:0,size:0});r.count++,r.weight+=o}return t}function lg(e,t){const i=ag(e),{vBoxMaxWidth:n,hBoxMaxHeight:s}=t;let o,r,a;for(o=0,r=e.length;o<r;++o){a=e[o];const{fullSize:l}=a.box,c=i[a.stack],h=c&&a.stackWeight/c.weight;a.horizontal?(a.width=h?h*n:l&&t.availableWidth,a.height=s):(a.width=n,a.height=h?h*s:l&&t.availableHeight)}return i}function cg(e){const t=rg(e),i=Ti(t.filter(c=>c.box.fullSize),!0),n=Ti(Ai(t,"left"),!0),s=Ti(Ai(t,"right")),o=Ti(Ai(t,"top"),!0),r=Ti(Ai(t,"bottom")),a=la(t,"x"),l=la(t,"y");return{fullSize:i,leftAndTop:n.concat(o),rightAndBottom:s.concat(l).concat(r).concat(a),chartArea:Ai(t,"chartArea"),vertical:n.concat(s).concat(l),horizontal:o.concat(r).concat(a)}}function ca(e,t,i,n){return Math.max(e[i],t[i])+Math.max(e[n],t[n])}function pc(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function hg(e,t,i,n){const{pos:s,box:o}=i,r=e.maxPadding;if(!tt(s)){i.size&&(e[s]-=i.size);const f=n[i.stack]||{size:0,count:1};f.size=Math.max(f.size,i.horizontal?o.height:o.width),i.size=f.size/f.count,e[s]+=i.size}o.getPadding&&pc(r,o.getPadding());const a=Math.max(0,t.outerWidth-ca(r,e,"left","right")),l=Math.max(0,t.outerHeight-ca(r,e,"top","bottom")),c=a!==e.w,h=l!==e.h;return e.w=a,e.h=l,i.horizontal?{same:c,other:h}:{same:h,other:c}}function fg(e){const t=e.maxPadding;function i(n){const s=Math.max(t[n]-e[n],0);return e[n]+=s,s}e.y+=i("top"),e.x+=i("left"),i("right"),i("bottom")}function ug(e,t){const i=t.maxPadding;function n(s){const o={left:0,top:0,right:0,bottom:0};return s.forEach(r=>{o[r]=Math.max(t[r],i[r])}),o}return n(e?["left","right"]:["top","bottom"])}function Bi(e,t,i,n){const s=[];let o,r,a,l,c,h;for(o=0,r=e.length,c=0;o<r;++o){a=e[o],l=a.box,l.update(a.width||t.w,a.height||t.h,ug(a.horizontal,t));const{same:f,other:u}=hg(t,i,a,n);c|=f&&s.length,h=h||u,l.fullSize||s.push(a)}return c&&Bi(s,t,i,n)||h}function Mn(e,t,i,n,s){e.top=i,e.left=t,e.right=t+n,e.bottom=i+s,e.width=n,e.height=s}function ha(e,t,i,n){const s=i.padding;let{x:o,y:r}=t;for(const a of e){const l=a.box,c=n[a.stack]||{count:1,placed:0,weight:1},h=a.stackWeight/c.weight||1;if(a.horizontal){const f=t.w*h,u=c.size||l.height;ne(c.start)&&(r=c.start),l.fullSize?Mn(l,s.left,r,i.outerWidth-s.right-s.left,u):Mn(l,t.left+c.placed,r,f,u),c.start=r,c.placed+=f,r=l.bottom}else{const f=t.h*h,u=c.size||l.width;ne(c.start)&&(o=c.start),l.fullSize?Mn(l,o,s.top,u,i.outerHeight-s.bottom-s.top):Mn(l,o,t.top+c.placed,u,f),c.start=o,c.placed+=f,o=l.right}}t.x=o,t.y=r}var Xt={addBox(e,t){e.boxes||(e.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(i){t.draw(i)}}]},e.boxes.push(t)},removeBox(e,t){const i=e.boxes?e.boxes.indexOf(t):-1;i!==-1&&e.boxes.splice(i,1)},configure(e,t,i){t.fullSize=i.fullSize,t.position=i.position,t.weight=i.weight},update(e,t,i,n){if(!e)return;const s=It(e.options.layout.padding),o=Math.max(t-s.width,0),r=Math.max(i-s.height,0),a=cg(e.boxes),l=a.vertical,c=a.horizontal;st(e.boxes,p=>{typeof p.beforeLayout=="function"&&p.beforeLayout()});const h=l.reduce((p,m)=>m.box.options&&m.box.options.display===!1?p:p+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:i,padding:s,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),u=Object.assign({},s);pc(u,It(n));const d=Object.assign({maxPadding:u,w:o,h:r,x:s.left,y:s.top},s),_=lg(l.concat(c),f);Bi(a.fullSize,d,f,_),Bi(l,d,f,_),Bi(c,d,f,_)&&Bi(l,d,f,_),fg(d),ha(a.leftAndTop,d,f,_),d.x+=d.w,d.y+=d.h,ha(a.rightAndBottom,d,f,_),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},st(a.chartArea,p=>{const m=p.box;Object.assign(m,e.chartArea),m.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class mc{acquireContext(t,i){}releaseContext(t){return!1}addEventListener(t,i,n){}removeEventListener(t,i,n){}getDevicePixelRatio(){return 1}getMaximumSize(t,i,n,s){return i=Math.max(0,i||t.width),n=n||t.height,{width:i,height:Math.max(0,s?Math.floor(i/s):n)}}isAttached(t){return!0}updateConfig(t){}}class dg extends mc{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Bn="$chartjs",gg={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},fa=e=>e===null||e==="";function pg(e,t){const i=e.style,n=e.getAttribute("height"),s=e.getAttribute("width");if(e[Bn]={initial:{height:n,width:s,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",fa(s)){const o=Gr(e,"width");o!==void 0&&(e.width=o)}if(fa(n))if(e.style.height==="")e.height=e.width/(t||2);else{const o=Gr(e,"height");o!==void 0&&(e.height=o)}return e}const bc=Fd?{passive:!0}:!1;function mg(e,t,i){e.addEventListener(t,i,bc)}function bg(e,t,i){e.canvas.removeEventListener(t,i,bc)}function _g(e,t){const i=gg[e.type]||e.type,{x:n,y:s}=Ue(e,t);return{type:i,chart:t,native:e,x:n!==void 0?n:null,y:s!==void 0?s:null}}function ns(e,t){for(const i of e)if(i===t||i.contains(t))return!0}function xg(e,t,i){const n=e.canvas,s=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||ns(a.addedNodes,n),r=r&&!ns(a.removedNodes,n);r&&i()});return s.observe(document,{childList:!0,subtree:!0}),s}function yg(e,t,i){const n=e.canvas,s=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||ns(a.removedNodes,n),r=r&&!ns(a.addedNodes,n);r&&i()});return s.observe(document,{childList:!0,subtree:!0}),s}const sn=new Map;let ua=0;function _c(){const e=window.devicePixelRatio;e!==ua&&(ua=e,sn.forEach((t,i)=>{i.currentDevicePixelRatio!==e&&t()}))}function vg(e,t){sn.size||window.addEventListener("resize",_c),sn.set(e,t)}function wg(e){sn.delete(e),sn.size||window.removeEventListener("resize",_c)}function Mg(e,t,i){const n=e.canvas,s=n&&qo(n);if(!s)return;const o=Zl((a,l)=>{const c=s.clientWidth;i(a,l),c<s.clientWidth&&i()},window),r=new ResizeObserver(a=>{const l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(s),vg(e,o),r}function Vs(e,t,i){i&&i.disconnect(),t==="resize"&&wg(e)}function kg(e,t,i){const n=e.canvas,s=Zl(o=>{e.ctx!==null&&i(_g(o,e))},e);return mg(n,t,s),s}class Cg extends mc{acquireContext(t,i){const n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(pg(t,i),n):null}releaseContext(t){const i=t.canvas;if(!i[Bn])return!1;const n=i[Bn].initial;["height","width"].forEach(o=>{const r=n[o];dt(r)?i.removeAttribute(o):i.setAttribute(o,r)});const s=n.style||{};return Object.keys(s).forEach(o=>{i.style[o]=s[o]}),i.width=i.width,delete i[Bn],!0}addEventListener(t,i,n){this.removeEventListener(t,i);const s=t.$proxies||(t.$proxies={}),r={attach:xg,detach:yg,resize:Mg}[i]||kg;s[i]=r(t,i,n)}removeEventListener(t,i){const n=t.$proxies||(t.$proxies={}),s=n[i];if(!s)return;({attach:Vs,detach:Vs,resize:Vs}[i]||bg)(t,i,s),n[i]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,i,n,s){return Rd(t,i,n,s)}isAttached(t){const i=qo(t);return!!(i&&i.isConnected)}}function Sg(e){return!cc()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?dg:Cg}class Ie{constructor(){Z(this,"active",!1)}tooltipPosition(t){const{x:i,y:n}=this.getProps(["x","y"],t);return{x:i,y:n}}hasValue(){return Jn(this.x)&&Jn(this.y)}getProps(t,i){const n=this.$animations;if(!i||!n)return this;const s={};return t.forEach(o=>{s[o]=n[o]&&n[o].active()?n[o]._to:this[o]}),s}}Z(Ie,"defaults",{}),Z(Ie,"defaultRoutes");function Pg(e,t){const i=e.options.ticks,n=Og(e),s=Math.min(i.maxTicksLimit||n,n),o=i.major.enabled?Tg(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>s)return Dg(t,c,o,r/s),c;const h=Ag(o,t,s);if(r>0){let f,u;const d=r>1?Math.round((l-a)/(r-1)):null;for(kn(t,c,h,dt(d)?0:a-d,a),f=0,u=r-1;f<u;f++)kn(t,c,h,o[f],o[f+1]);return kn(t,c,h,l,dt(d)?t.length:l+d),c}return kn(t,c,h),c}function Og(e){const t=e.options.offset,i=e._tickSize(),n=e._length/i+(t?0:1),s=e._maxLength/i;return Math.floor(Math.min(n,s))}function Ag(e,t,i){const n=Lg(e),s=t.length/i;if(!n)return Math.max(s,1);const o=ku(n);for(let r=0,a=o.length-1;r<a;r++){const l=o[r];if(l>s)return l}return Math.max(s,1)}function Tg(e){const t=[];let i,n;for(i=0,n=e.length;i<n;i++)e[i].major&&t.push(i);return t}function Dg(e,t,i,n){let s=0,o=i[0],r;for(n=Math.ceil(n),r=0;r<e.length;r++)r===o&&(t.push(e[r]),s++,o=i[s*n])}function kn(e,t,i,n,s){const o=it(n,0),r=Math.min(it(s,e.length),e.length);let a=0,l,c,h;for(i=Math.ceil(i),s&&(l=s-n,i=l/Math.floor(l/i)),h=o;h<0;)a++,h=Math.round(o+a*i);for(c=Math.max(o,0);c<r;c++)c===h&&(t.push(e[c]),a++,h=Math.round(o+a*i))}function Lg(e){const t=e.length;let i,n;if(t<2)return!1;for(n=e[0],i=1;i<t;++i)if(e[i]-e[i-1]!==n)return!1;return n}const Eg=e=>e==="left"?"right":e==="right"?"left":e,da=(e,t,i)=>t==="top"||t==="left"?e[t]+i:e[t]-i;function ga(e,t){const i=[],n=e.length/t,s=e.length;let o=0;for(;o<s;o+=n)i.push(e[Math.floor(o)]);return i}function Ig(e,t,i){const n=e.ticks.length,s=Math.min(t,n-1),o=e._startPixel,r=e._endPixel,a=1e-6;let l=e.getPixelForTick(s),c;if(!(i&&(n===1?c=Math.max(l-o,r-l):t===0?c=(e.getPixelForTick(1)-l)/2:c=(l-e.getPixelForTick(s-1))/2,l+=s<t?c:-c,l<o-a||l>r+a)))return l}function Rg(e,t){st(e,i=>{const n=i.gc,s=n.length/2;let o;if(s>t){for(o=0;o<s;++o)delete i.data[n[o]];n.splice(0,s)}})}function Di(e){return e.drawTicks?e.tickLength:0}function pa(e,t){if(!e.display)return 0;const i=wt(e.font,t),n=It(e.padding);return(gt(e.text)?e.text.length:1)*i.lineHeight+n.height}function Fg(e,t){return ni(e,{scale:t,type:"scale"})}function Bg(e,t,i){return ni(e,{tick:i,index:t,type:"tick"})}function Hg(e,t,i){let n=zo(e);return(i&&t!=="right"||!i&&t==="right")&&(n=Eg(n)),n}function zg(e,t,i,n){const{top:s,left:o,bottom:r,right:a,chart:l}=e,{chartArea:c,scales:h}=l;let f=0,u,d,_;const p=r-s,m=a-o;if(e.isHorizontal()){if(d=Ot(n,o,a),tt(i)){const x=Object.keys(i)[0],w=i[x];_=h[x].getPixelForValue(w)+p-t}else i==="center"?_=(c.bottom+c.top)/2+p-t:_=da(e,i,t);u=a-o}else{if(tt(i)){const x=Object.keys(i)[0],w=i[x];d=h[x].getPixelForValue(w)-m+t}else i==="center"?d=(c.left+c.right)/2-m+t:d=da(e,i,t);_=Ot(n,r,s),f=i==="left"?-mt:mt}return{titleX:d,titleY:_,maxWidth:u,rotation:f}}class si extends Ie{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,i){return t}getUserBounds(){let{_userMin:t,_userMax:i,_suggestedMin:n,_suggestedMax:s}=this;return t=Wt(t,Number.POSITIVE_INFINITY),i=Wt(i,Number.NEGATIVE_INFINITY),n=Wt(n,Number.POSITIVE_INFINITY),s=Wt(s,Number.NEGATIVE_INFINITY),{min:Wt(t,n),max:Wt(i,s),minDefined:kt(t),maxDefined:kt(i)}}getMinMax(t){let{min:i,max:n,minDefined:s,maxDefined:o}=this.getUserBounds(),r;if(s&&o)return{min:i,max:n};const a=this.getMatchingVisibleMetas();for(let l=0,c=a.length;l<c;++l)r=a[l].controller.getMinMax(this,t),s||(i=Math.min(i,r.min)),o||(n=Math.max(n,r.max));return i=o&&i>n?n:i,n=s&&i>n?i:n,{min:Wt(i,Wt(n,i)),max:Wt(n,Wt(i,n))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){lt(this.options.beforeUpdate,[this])}update(t,i,n){const{beginAtZero:s,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=i,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=yd(this,o,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?ga(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),r.display&&(r.autoSkip||r.source==="auto")&&(this.ticks=Pg(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,i,n;this.isHorizontal()?(i=this.left,n=this.right):(i=this.top,n=this.bottom,t=!t),this._startPixel=i,this._endPixel=n,this._reversePixels=t,this._length=n-i,this._alignToPixels=this.options.alignToPixels}afterUpdate(){lt(this.options.afterUpdate,[this])}beforeSetDimensions(){lt(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){lt(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),lt(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){lt(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const i=this.options.ticks;let n,s,o;for(n=0,s=t.length;n<s;n++)o=t[n],o.label=lt(i.callback,[o.value,n,t],this)}afterTickToLabelConversion(){lt(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){lt(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,i=t.ticks,n=this.ticks.length,s=i.minRotation||0,o=i.maxRotation;let r=s,a,l,c;if(!this._isVisible()||!i.display||s>=o||n<=1||!this.isHorizontal()){this.labelRotation=s;return}const h=this._getLabelSizes(),f=h.widest.width,u=h.highest.height,d=$t(this.chart.width-f,0,this.maxWidth);a=t.offset?this.maxWidth/n:d/(n-1),f+6>a&&(a=d/(n-(t.offset?.5:1)),l=this.maxHeight-Di(t.grid)-i.padding-pa(t.title,this.chart.options.font),c=Math.sqrt(f*f+u*u),r=Bo(Math.min(Math.asin($t((h.highest.height+6)/a,-1,1)),Math.asin($t(l/c,-1,1))-Math.asin($t(u/c,-1,1)))),r=Math.max(s,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){lt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){lt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:i,options:{ticks:n,title:s,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=pa(s,i.options.font);if(a?(t.width=this.maxWidth,t.height=Di(o)+l):(t.height=this.maxHeight,t.width=Di(o)+l),n.display&&this.ticks.length){const{first:c,last:h,widest:f,highest:u}=this._getLabelSizes(),d=n.padding*2,_=ue(this.labelRotation),p=Math.cos(_),m=Math.sin(_);if(a){const x=n.mirror?0:m*f.width+p*u.height;t.height=Math.min(this.maxHeight,t.height+x+d)}else{const x=n.mirror?0:p*f.width+m*u.height;t.width=Math.min(this.maxWidth,t.width+x+d)}this._calculatePadding(c,h,m,p)}}this._handleMargins(),a?(this.width=this._length=i.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=i.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,i,n,s){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let u=0,d=0;l?c?(u=s*t.width,d=n*i.height):(u=n*t.height,d=s*i.width):o==="start"?d=i.width:o==="end"?u=t.width:o!=="inner"&&(u=t.width/2,d=i.width/2),this.paddingLeft=Math.max((u-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((d-f+r)*this.width/(this.width-f),0)}else{let h=i.height/2,f=t.height/2;o==="start"?(h=0,f=t.height):o==="end"&&(h=i.height,f=0),this.paddingTop=h+r,this.paddingBottom=f+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){lt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:i}=this.options;return i==="top"||i==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let i,n;for(i=0,n=t.length;i<n;i++)dt(t[i].label)&&(t.splice(i,1),n--,i--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const i=this.options.ticks.sampleSize;let n=this.ticks;i<n.length&&(n=ga(n,i)),this._labelSizes=t=this._computeLabelSizes(n,n.length)}return t}_computeLabelSizes(t,i){const{ctx:n,_longestTextCache:s}=this,o=[],r=[];let a=0,l=0,c,h,f,u,d,_,p,m,x,w,y;for(c=0;c<i;++c){if(u=t[c].label,d=this._resolveTickFontOptions(c),n.font=_=d.string,p=s[_]=s[_]||{data:{},gc:[]},m=d.lineHeight,x=w=0,!dt(u)&&!gt(u))x=ts(n,p.data,p.gc,x,u),w=m;else if(gt(u))for(h=0,f=u.length;h<f;++h)y=u[h],!dt(y)&&!gt(y)&&(x=ts(n,p.data,p.gc,x,y),w+=m);o.push(x),r.push(w),a=Math.max(x,a),l=Math.max(w,l)}Rg(s,i);const P=o.indexOf(a),S=r.indexOf(l),E=R=>({width:o[R]||0,height:r[R]||0});return{first:E(0),last:E(i-1),widest:E(P),highest:E(S),widths:o,heights:r}}getLabelForValue(t){return t}getPixelForValue(t,i){return NaN}getValueForPixel(t){}getPixelForTick(t){const i=this.ticks;return t<0||t>i.length-1?null:this.getPixelForValue(i[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const i=this._startPixel+t*this._length;return Pu(this._alignToPixels?je(this.chart,i,0):i)}getDecimalForPixel(t){const i=(t-this._startPixel)/this._length;return this._reversePixels?1-i:i}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:i}=this;return t<0&&i<0?i:t>0&&i>0?t:0}getContext(t){const i=this.ticks||[];if(t>=0&&t<i.length){const n=i[t];return n.$context||(n.$context=Bg(this.getContext(),t,n))}return this.$context||(this.$context=Fg(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,i=ue(this.labelRotation),n=Math.abs(Math.cos(i)),s=Math.abs(Math.sin(i)),o=this._getLabelSizes(),r=t.autoSkipPadding||0,a=o?o.widest.width+r:0,l=o?o.highest.height+r:0;return this.isHorizontal()?l*n>a*s?a/n:l/s:l*s<a*n?l/n:a/s}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const i=this.axis,n=this.chart,s=this.options,{grid:o,position:r,border:a}=s,l=o.offset,c=this.isHorizontal(),f=this.ticks.length+(l?1:0),u=Di(o),d=[],_=a.setContext(this.getContext()),p=_.display?_.width:0,m=p/2,x=function(U){return je(n,U,p)};let w,y,P,S,E,R,T,B,F,N,V,rt;if(r==="top")w=x(this.bottom),R=this.bottom-u,B=w-m,N=x(t.top)+m,rt=t.bottom;else if(r==="bottom")w=x(this.top),N=t.top,rt=x(t.bottom)-m,R=w+m,B=this.top+u;else if(r==="left")w=x(this.right),E=this.right-u,T=w-m,F=x(t.left)+m,V=t.right;else if(r==="right")w=x(this.left),F=t.left,V=x(t.right)-m,E=w+m,T=this.left+u;else if(i==="x"){if(r==="center")w=x((t.top+t.bottom)/2+.5);else if(tt(r)){const U=Object.keys(r)[0],W=r[U];w=x(this.chart.scales[U].getPixelForValue(W))}N=t.top,rt=t.bottom,R=w+m,B=R+u}else if(i==="y"){if(r==="center")w=x((t.left+t.right)/2);else if(tt(r)){const U=Object.keys(r)[0],W=r[U];w=x(this.chart.scales[U].getPixelForValue(W))}E=w-m,T=E-u,F=t.left,V=t.right}const yt=it(s.ticks.maxTicksLimit,f),et=Math.max(1,Math.ceil(f/yt));for(y=0;y<f;y+=et){const U=this.getContext(y),W=o.setContext(U),q=a.setContext(U),ut=W.lineWidth,Jt=W.color,Ut=q.dash||[],Ct=q.dashOffset,ye=W.tickWidth,Fe=W.tickColor,Be=W.tickBorderDash||[],Rt=W.tickBorderDashOffset;P=Ig(this,y,l),P!==void 0&&(S=je(n,P,ut),c?E=T=F=V=S:R=B=N=rt=S,d.push({tx1:E,ty1:R,tx2:T,ty2:B,x1:F,y1:N,x2:V,y2:rt,width:ut,color:Jt,borderDash:Ut,borderDashOffset:Ct,tickWidth:ye,tickColor:Fe,tickBorderDash:Be,tickBorderDashOffset:Rt}))}return this._ticksLength=f,this._borderValue=w,d}_computeLabelItems(t){const i=this.axis,n=this.options,{position:s,ticks:o}=n,r=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:c,padding:h,mirror:f}=o,u=Di(n.grid),d=u+h,_=f?-h:d,p=-ue(this.labelRotation),m=[];let x,w,y,P,S,E,R,T,B,F,N,V,rt="middle";if(s==="top")E=this.bottom-_,R=this._getXAxisLabelAlignment();else if(s==="bottom")E=this.top+_,R=this._getXAxisLabelAlignment();else if(s==="left"){const et=this._getYAxisLabelAlignment(u);R=et.textAlign,S=et.x}else if(s==="right"){const et=this._getYAxisLabelAlignment(u);R=et.textAlign,S=et.x}else if(i==="x"){if(s==="center")E=(t.top+t.bottom)/2+d;else if(tt(s)){const et=Object.keys(s)[0],U=s[et];E=this.chart.scales[et].getPixelForValue(U)+d}R=this._getXAxisLabelAlignment()}else if(i==="y"){if(s==="center")S=(t.left+t.right)/2-d;else if(tt(s)){const et=Object.keys(s)[0],U=s[et];S=this.chart.scales[et].getPixelForValue(U)}R=this._getYAxisLabelAlignment(u).textAlign}i==="y"&&(l==="start"?rt="top":l==="end"&&(rt="bottom"));const yt=this._getLabelSizes();for(x=0,w=a.length;x<w;++x){y=a[x],P=y.label;const et=o.setContext(this.getContext(x));T=this.getPixelForTick(x)+o.labelOffset,B=this._resolveTickFontOptions(x),F=B.lineHeight,N=gt(P)?P.length:1;const U=N/2,W=et.color,q=et.textStrokeColor,ut=et.textStrokeWidth;let Jt=R;r?(S=T,R==="inner"&&(x===w-1?Jt=this.options.reverse?"left":"right":x===0?Jt=this.options.reverse?"right":"left":Jt="center"),s==="top"?c==="near"||p!==0?V=-N*F+F/2:c==="center"?V=-yt.highest.height/2-U*F+F:V=-yt.highest.height+F/2:c==="near"||p!==0?V=F/2:c==="center"?V=yt.highest.height/2-U*F:V=yt.highest.height-N*F,f&&(V*=-1),p!==0&&!et.showLabelBackdrop&&(S+=F/2*Math.sin(p))):(E=T,V=(1-N)*F/2);let Ut;if(et.showLabelBackdrop){const Ct=It(et.backdropPadding),ye=yt.heights[x],Fe=yt.widths[x];let Be=V-Ct.top,Rt=0-Ct.left;switch(rt){case"middle":Be-=ye/2;break;case"bottom":Be-=ye;break}switch(R){case"center":Rt-=Fe/2;break;case"right":Rt-=Fe;break}Ut={left:Rt,top:Be,width:Fe+Ct.width,height:ye+Ct.height,color:et.backdropColor}}m.push({rotation:p,label:P,font:B,color:W,strokeColor:q,strokeWidth:ut,textOffset:V,textAlign:Jt,textBaseline:rt,translation:[S,E],backdrop:Ut})}return m}_getXAxisLabelAlignment(){const{position:t,ticks:i}=this.options;if(-ue(this.labelRotation))return t==="top"?"left":"right";let s="center";return i.align==="start"?s="left":i.align==="end"?s="right":i.align==="inner"&&(s="inner"),s}_getYAxisLabelAlignment(t){const{position:i,ticks:{crossAlign:n,mirror:s,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,h;return i==="left"?s?(h=this.right+o,n==="near"?c="left":n==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-a,n==="near"?c="right":n==="center"?(c="center",h-=l/2):(c="left",h=this.left)):i==="right"?s?(h=this.left+o,n==="near"?c="right":n==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+a,n==="near"?c="left":n==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,i=this.options.position;if(i==="left"||i==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(i==="top"||i==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:i},left:n,top:s,width:o,height:r}=this;i&&(t.save(),t.fillStyle=i,t.fillRect(n,s,o,r),t.restore())}getLineWidthForValue(t){const i=this.options.grid;if(!this._isVisible()||!i.display)return 0;const s=this.ticks.findIndex(o=>o.value===t);return s>=0?i.setContext(this.getContext(s)).lineWidth:0}drawGrid(t){const i=this.options.grid,n=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,h)=>{!h.width||!h.color||(n.save(),n.lineWidth=h.width,n.strokeStyle=h.color,n.setLineDash(h.borderDash||[]),n.lineDashOffset=h.borderDashOffset,n.beginPath(),n.moveTo(l.x,l.y),n.lineTo(c.x,c.y),n.stroke(),n.restore())};if(i.display)for(o=0,r=s.length;o<r;++o){const l=s[o];i.drawOnChartArea&&a({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),i.drawTicks&&a({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:i,options:{border:n,grid:s}}=this,o=n.setContext(this.getContext()),r=n.display?o.width:0;if(!r)return;const a=s.setContext(this.getContext(0)).lineWidth,l=this._borderValue;let c,h,f,u;this.isHorizontal()?(c=je(t,this.left,r)-r/2,h=je(t,this.right,a)+a/2,f=u=l):(f=je(t,this.top,r)-r/2,u=je(t,this.bottom,a)+a/2,c=h=l),i.save(),i.lineWidth=o.width,i.strokeStyle=o.color,i.beginPath(),i.moveTo(c,f),i.lineTo(h,u),i.stroke(),i.restore()}drawLabels(t){if(!this.options.ticks.display)return;const n=this.ctx,s=this._computeLabelArea();s&&$o(n,s);const o=this._labelItems||(this._labelItems=this._computeLabelItems(t));let r,a;for(r=0,a=o.length;r<a;++r){const l=o[r],c=l.font,h=l.label;let f=l.textOffset;ii(n,h,0,f,c,l)}s&&Vo(n)}drawTitle(){const{ctx:t,options:{position:i,title:n,reverse:s}}=this;if(!n.display)return;const o=wt(n.font),r=It(n.padding),a=n.align;let l=o.lineHeight/2;i==="bottom"||i==="center"||tt(i)?(l+=r.bottom,gt(n.text)&&(l+=o.lineHeight*(n.text.length-1))):l+=r.top;const{titleX:c,titleY:h,maxWidth:f,rotation:u}=zg(this,l,i,a);ii(t,n.text,0,0,o,{color:n.color,maxWidth:f,rotation:u,textAlign:Hg(a,i,s),textBaseline:"middle",translation:[c,h]})}draw(t){!this._isVisible()||(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,i=t.ticks&&t.ticks.z||0,n=it(t.grid&&t.grid.z,-1),s=it(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==si.prototype.draw?[{z:i,draw:o=>{this.draw(o)}}]:[{z:n,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:i,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const i=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",s=[];let o,r;for(o=0,r=i.length;o<r;++o){const a=i[o];a[n]===this.id&&(!t||a.type===t)&&s.push(a)}return s}_resolveTickFontOptions(t){const i=this.options.ticks.setContext(this.getContext(t));return wt(i.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class Cn{constructor(t,i,n){this.type=t,this.scope=i,this.override=n,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const i=Object.getPrototypeOf(t);let n;Wg(i)&&(n=this.register(i));const s=this.items,o=t.id,r=this.scope+"."+o;if(!o)throw new Error("class does not have id: "+t);return o in s||(s[o]=t,Ng(t,r,n),this.override&&bt.override(t.id,t.overrides)),r}get(t){return this.items[t]}unregister(t){const i=this.items,n=t.id,s=this.scope;n in i&&delete i[n],s&&n in bt[s]&&(delete bt[s][n],this.override&&delete ei[n])}}function Ng(e,t,i){const n=en(Object.create(null),[i?bt.get(i):{},bt.get(t),e.defaults]);bt.set(t,n),e.defaultRoutes&&jg(t,e.defaultRoutes),e.descriptors&&bt.describe(t,e.descriptors)}function jg(e,t){Object.keys(t).forEach(i=>{const n=i.split("."),s=n.pop(),o=[e].concat(n).join("."),r=t[i].split("."),a=r.pop(),l=r.join(".");bt.route(o,s,l,a)})}function Wg(e){return"id"in e&&"defaults"in e}class $g{constructor(){this.controllers=new Cn(Ui,"datasets",!0),this.elements=new Cn(Ie,"elements"),this.plugins=new Cn(Object,"plugins"),this.scales=new Cn(si,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,i,n){[...i].forEach(s=>{const o=n||this._getRegistryForType(s);n||o.isForType(s)||o===this.plugins&&s.id?this._exec(t,o,s):st(s,r=>{const a=n||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,i,n){const s=Fo(t);lt(n["before"+s],[],n),i[t](n),lt(n["after"+s],[],n)}_getRegistryForType(t){for(let i=0;i<this._typedRegistries.length;i++){const n=this._typedRegistries[i];if(n.isForType(t))return n}return this.plugins}_get(t,i,n){const s=i.get(t);if(s===void 0)throw new Error('"'+t+'" is not a registered '+n+".");return s}}var le=new $g;class Vg{constructor(){this._init=[]}notify(t,i,n,s){i==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const o=s?this._descriptors(t).filter(s):this._descriptors(t),r=this._notify(o,t,i,n);return i==="afterDestroy"&&(this._notify(o,t,"stop"),this._notify(this._init,t,"uninstall")),r}_notify(t,i,n,s){s=s||{};for(const o of t){const r=o.plugin,a=r[n],l=[i,s,o.options];if(lt(a,l,r)===!1&&s.cancelable)return!1}return!0}invalidate(){dt(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const i=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),i}_createDescriptors(t,i){const n=t&&t.config,s=it(n.options&&n.options.plugins,{}),o=Ug(n);return s===!1&&!i?[]:Kg(t,o,s,i)}_notifyStateChanges(t){const i=this._oldCache||[],n=this._cache,s=(o,r)=>o.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(s(i,n),t,"stop"),this._notify(s(n,i),t,"start")}}function Ug(e){const t={},i=[],n=Object.keys(le.plugins.items);for(let o=0;o<n.length;o++)i.push(le.getPlugin(n[o]));const s=e.plugins||[];for(let o=0;o<s.length;o++){const r=s[o];i.indexOf(r)===-1&&(i.push(r),t[r.id]=!0)}return{plugins:i,localIds:t}}function Yg(e,t){return!t&&e===!1?null:e===!0?{}:e}function Kg(e,{plugins:t,localIds:i},n,s){const o=[],r=e.getContext();for(const a of t){const l=a.id,c=Yg(n[l],s);c!==null&&o.push({plugin:a,options:Xg(e.config,{plugin:a,local:i[l]},c,r)})}return o}function Xg(e,{plugin:t,local:i},n,s){const o=e.pluginScopeKeys(t),r=e.getOptionScopes(n,o);return i&&t.defaults&&r.push(t.defaults),e.createResolver(r,s,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function co(e,t){const i=bt.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||i.indexAxis||"x"}function qg(e,t){let i=e;return e==="_index_"?i=t:e==="_value_"&&(i=t==="x"?"y":"x"),i}function Zg(e,t){return e===t?"_index_":"_value_"}function Jg(e){if(e==="top"||e==="bottom")return"x";if(e==="left"||e==="right")return"y"}function ss(e,t){if(e==="x"||e==="y"||e==="r"||(e=t.axis||Jg(t.position)||e.length>1&&ss(e[0].toLowerCase(),t),e))return e;throw new Error(`+"`"+`Cannot determine type of '${name}' axis. Please provide 'axis' or 'position' option.`+"`"+`)}function Qg(e,t){const i=ei[e.type]||{scales:{}},n=t.scales||{},s=co(e.type,t),o=Object.create(null);return Object.keys(n).forEach(r=>{const a=n[r];if(!tt(a))return console.error(`+"`"+`Invalid scale configuration for scale: ${r}`+"`"+`);if(a._proxy)return console.warn(`+"`"+`Ignoring resolver passed as options for scale: ${r}`+"`"+`);const l=ss(r,a),c=Zg(l,s),h=i.scales||{};o[r]=$i(Object.create(null),[{axis:l},a,h[l],h[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||co(a,t),h=(ei[a]||{}).scales||{};Object.keys(h).forEach(f=>{const u=qg(f,l),d=r[u+"AxisID"]||u;o[d]=o[d]||Object.create(null),$i(o[d],[{axis:u},n[d],h[f]])})}),Object.keys(o).forEach(r=>{const a=o[r];$i(a,[bt.scales[a.type],bt.scale])}),o}function xc(e){const t=e.options||(e.options={});t.plugins=it(t.plugins,{}),t.scales=Qg(e,t)}function yc(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function Gg(e){return e=e||{},e.data=yc(e.data),xc(e),e}const ma=new Map,vc=new Set;function Sn(e,t){let i=ma.get(e);return i||(i=t(),ma.set(e,i),vc.add(i)),i}const Li=(e,t,i)=>{const n=nn(t,i);n!==void 0&&e.add(n)};class tp{constructor(t){this._config=Gg(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=yc(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),xc(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Sn(t,()=>[[`+"`"+`datasets.${t}`+"`"+`,""]])}datasetAnimationScopeKeys(t,i){return Sn(`+"`"+`${t}.transition.${i}`+"`"+`,()=>[[`+"`"+`datasets.${t}.transitions.${i}`+"`"+`,`+"`"+`transitions.${i}`+"`"+`],[`+"`"+`datasets.${t}`+"`"+`,""]])}datasetElementScopeKeys(t,i){return Sn(`+"`"+`${t}-${i}`+"`"+`,()=>[[`+"`"+`datasets.${t}.elements.${i}`+"`"+`,`+"`"+`datasets.${t}`+"`"+`,`+"`"+`elements.${i}`+"`"+`,""]])}pluginScopeKeys(t){const i=t.id,n=this.type;return Sn(`+"`"+`${n}-plugin-${i}`+"`"+`,()=>[[`+"`"+`plugins.${i}`+"`"+`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,i){const n=this._scopeCache;let s=n.get(t);return(!s||i)&&(s=new Map,n.set(t,s)),s}getOptionScopes(t,i,n){const{options:s,type:o}=this,r=this._cachedScopes(t,n),a=r.get(i);if(a)return a;const l=new Set;i.forEach(h=>{t&&(l.add(t),h.forEach(f=>Li(l,t,f))),h.forEach(f=>Li(l,s,f)),h.forEach(f=>Li(l,ei[o]||{},f)),h.forEach(f=>Li(l,bt,f)),h.forEach(f=>Li(l,ao,f))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),vc.has(i)&&r.set(i,c),c}chartOptionScopes(){const{options:t,type:i}=this;return[t,ei[i]||{},bt.datasets[i]||{},{type:i},bt,ao]}resolveNamedOptions(t,i,n,s=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=ba(this._resolverCache,t,s);let l=r;if(ip(r,i)){o.$shared=!1,n=Ee(n)?n():n;const c=this.createResolver(t,n,a);l=vi(r,n,c)}for(const c of i)o[c]=l[c];return o}createResolver(t,i,n=[""],s){const{resolver:o}=ba(this._resolverCache,t,n);return tt(i)?vi(o,i,void 0,s):o}}function ba(e,t,i){let n=e.get(t);n||(n=new Map,e.set(t,n));const s=i.join();let o=n.get(s);return o||(o={resolver:Yo(t,i),subPrefixes:i.filter(a=>!a.toLowerCase().includes("hover"))},n.set(s,o)),o}const ep=e=>tt(e)&&Object.getOwnPropertyNames(e).reduce((t,i)=>t||Ee(e[i]),!1);function ip(e,t){const{isScriptable:i,isIndexable:n}=oc(e);for(const s of t){const o=i(s),r=n(s),a=(r||o)&&e[s];if(o&&(Ee(a)||ep(a))||r&&gt(a))return!0}return!1}var np="4.0.1";const sp=["top","bottom","left","right","chartArea"];function _a(e,t){return e==="top"||e==="bottom"||sp.indexOf(e)===-1&&t==="x"}function xa(e,t){return function(i,n){return i[e]===n[e]?i[t]-n[t]:i[e]-n[e]}}function ya(e){const t=e.chart,i=t.options.animation;t.notifyPlugins("afterRender"),lt(i&&i.onComplete,[e],t)}function op(e){const t=e.chart,i=t.options.animation;lt(i&&i.onProgress,[e],t)}function wc(e){return cc()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const Hn={},va=e=>{const t=wc(e);return Object.values(Hn).filter(i=>i.canvas===t).pop()};function rp(e,t,i){const n=Object.keys(e);for(const s of n){const o=+s;if(o>=t){const r=e[s];delete e[s],(i>0||o>t)&&(e[o+i]=r)}}}function ap(e,t,i,n){return!i||e.type==="mouseout"?null:n?t:e}function lp(e){const{xScale:t,yScale:i}=e;if(t&&i)return{left:t.left,right:t.right,top:i.top,bottom:i.bottom}}class Me{static register(...t){le.add(...t),wa()}static unregister(...t){le.remove(...t),wa()}constructor(t,i){const n=this.config=new tp(i),s=wc(t),o=va(s);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||Sg(s)),this.platform.updateConfig(n);const a=this.platform.acquireContext(s,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=mu(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Vg,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Lu(f=>this.update(f),r.resizeDelay||0),this._dataChanges=[],Hn[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}ge.listen(this,"complete",ya),ge.listen(this,"progress",op),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:i},width:n,height:s,_aspectRatio:o}=this;return dt(t)?i&&o?o:s?n/s:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return le}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Qr(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Xr(this.canvas,this.ctx),this}stop(){return ge.stop(this),this}resize(t,i){ge.running(this)?this._resizeBeforeDraw={width:t,height:i}:this._resize(t,i)}_resize(t,i){const n=this.options,s=this.canvas,o=n.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(s,t,i,o),a=n.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Qr(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),lt(n.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const i=this.options.scales||{};st(i,(n,s)=>{n.id=s})}buildOrUpdateScales(){const t=this.options,i=t.scales,n=this.scales,s=Object.keys(n).reduce((r,a)=>(r[a]=!1,r),{});let o=[];i&&(o=o.concat(Object.keys(i).map(r=>{const a=i[r],l=ss(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),st(o,r=>{const a=r.options,l=a.id,c=ss(l,a),h=it(a.type,r.dtype);(a.position===void 0||_a(a.position,c)!==_a(r.dposition))&&(a.position=r.dposition),s[l]=!0;let f=null;if(l in n&&n[l].type===h)f=n[l];else{const u=le.getScale(h);f=new u({id:l,type:h,ctx:this.ctx,chart:this}),n[f.id]=f}f.init(a,t)}),st(s,(r,a)=>{r||delete n[a]}),st(n,r=>{Xt.configure(this,r,r.options),Xt.addBox(this,r)})}_updateMetasets(){const t=this._metasets,i=this.data.datasets.length,n=t.length;if(t.sort((s,o)=>s.index-o.index),n>i){for(let s=i;s<n;++s)this._destroyDatasetMeta(s);t.splice(i,n-i)}this._sortedMetasets=t.slice(0).sort(xa("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:i}}=this;t.length>i.length&&delete this._stacks,t.forEach((n,s)=>{i.filter(o=>o===n._dataset).length===0&&this._destroyDatasetMeta(s)})}buildOrUpdateControllers(){const t=[],i=this.data.datasets;let n,s;for(this._removeUnreferencedMetasets(),n=0,s=i.length;n<s;n++){const o=i[n];let r=this.getDatasetMeta(n);const a=o.type||this.config.type;if(r.type&&r.type!==a&&(this._destroyDatasetMeta(n),r=this.getDatasetMeta(n)),r.type=a,r.indexAxis=o.indexAxis||co(a,this.options),r.order=o.order||0,r.index=n,r.label=""+o.label,r.visible=this.isDatasetVisible(n),r.controller)r.controller.updateIndex(n),r.controller.linkScales();else{const l=le.getController(a),{datasetElementType:c,dataElementType:h}=bt.datasets[a];Object.assign(l,{dataElementType:le.getElement(h),datasetElementType:c&&le.getElement(c)}),r.controller=new l(this,n),t.push(r.controller)}}return this._updateMetasets(),t}_resetElements(){st(this.data.datasets,(t,i)=>{this.getDatasetMeta(i).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const i=this.config;i.update();const n=this._options=i.createResolver(i.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c<h;c++){const{controller:f}=this.getDatasetMeta(c),u=!s&&o.indexOf(f)===-1;f.buildOrUpdateElements(u),r=Math.max(+f.getMaxOverflow(),r)}r=this._minPadding=n.layout.autoPadding?r:0,this._updateLayout(r),s||st(o,c=>{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(xa("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){st(this.scales,t=>{Xt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,i=new Set(Object.keys(this._listeners)),n=new Set(t.events);(!Ir(i,n)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,i=this._getUniformDataChanges()||[];for(const{method:n,start:s,count:o}of i){const r=n==="_removeElements"?-o:o;rp(t,s,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const i=this.data.datasets.length,n=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),s=n(0);for(let o=1;o<i;o++)if(!Ir(s,n(o)))return;return Array.from(s).map(o=>o.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Xt.update(this,this.width,this.height,t);const i=this.chartArea,n=i.width<=0||i.height<=0;this._layers=[],st(this.boxes,s=>{n&&s.position==="chartArea"||(s.configure&&s.configure(),this._layers.push(...s._layers()))},this),this._layers.forEach((s,o)=>{s._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let i=0,n=this.data.datasets.length;i<n;++i)this.getDatasetMeta(i).controller.configure();for(let i=0,n=this.data.datasets.length;i<n;++i)this._updateDataset(i,Ee(t)?t({datasetIndex:i}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,i){const n=this.getDatasetMeta(t),s={meta:n,index:t,mode:i,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",s)!==!1&&(n.controller._update(i),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&(ge.has(this)?this.attached&&!ge.running(this)&&ge.start(this):(this.draw(),ya({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:n,height:s}=this._resizeBeforeDraw;this._resize(n,s),this._resizeBeforeDraw=null}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const i=this._layers;for(t=0;t<i.length&&i[t].z<=0;++t)i[t].draw(this.chartArea);for(this._drawDatasets();t<i.length;++t)i[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const i=this._sortedMetasets,n=[];let s,o;for(s=0,o=i.length;s<o;++s){const r=i[s];(!t||r.visible)&&n.push(r)}return n}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let i=t.length-1;i>=0;--i)this._drawDataset(t[i]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const i=this.ctx,n=t._clip,s=!n.disabled,o=lp(t)||this.chartArea,r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(s&&$o(i,{left:n.left===!1?0:o.left-n.left,right:n.right===!1?this.width:o.right+n.right,top:n.top===!1?0:o.top-n.top,bottom:n.bottom===!1?this.height:o.bottom+n.bottom}),t.controller.draw(),s&&Vo(i),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return sc(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,i,n,s){const o=og.modes[i];return typeof o=="function"?o(this,t,n,s):[]}getDatasetMeta(t){const i=this.data.datasets[t],n=this._metasets;let s=n.filter(o=>o&&o._dataset===i).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:i&&i.order||0,index:t,_dataset:i,_parsed:[],_sorted:!1},n.push(s)),s}getContext(){return this.$context||(this.$context=ni(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const i=this.data.datasets[t];if(!i)return!1;const n=this.getDatasetMeta(t);return typeof n.hidden=="boolean"?!n.hidden:!i.hidden}setDatasetVisibility(t,i){const n=this.getDatasetMeta(t);n.hidden=!i}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,i,n){const s=n?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,s);ne(i)?(o.data[i].hidden=!n,this.update()):(this.setDatasetVisibility(t,n),r.update(o,{visible:n}),this.update(a=>a.datasetIndex===t?s:void 0))}hide(t,i){this._updateVisibility(t,i,!1)}show(t,i){this._updateVisibility(t,i,!0)}_destroyDatasetMeta(t){const i=this._metasets[t];i&&i.controller&&i.controller._destroy(),delete this._metasets[t]}_stop(){let t,i;for(this.stop(),ge.remove(this),t=0,i=this.data.datasets.length;t<i;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:i}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Xr(t,i),this.platform.releaseContext(i),this.canvas=null,this.ctx=null),delete Hn[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,i=this.platform,n=(o,r)=>{i.addEventListener(this,o,r),t[o]=r},s=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};st(this.options.events,o=>n(o,s))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,i=this.platform,n=(l,c)=>{i.addEventListener(this,l,c),t[l]=c},s=(l,c)=>{t[l]&&(i.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{s("attach",a),this.attached=!0,this.resize(),n("resize",o),n("detach",r)};r=()=>{this.attached=!1,s("resize",o),this._stop(),this._resize(0,0),n("attach",a)},i.isAttached(this.canvas)?a():r()}unbindEvents(){st(this._listeners,(t,i)=>{this.platform.removeEventListener(this,i,t)}),this._listeners={},st(this._responsiveListeners,(t,i)=>{this.platform.removeEventListener(this,i,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,i,n){const s=n?"set":"remove";let o,r,a,l;for(i==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+s+"DatasetHoverStyle"]()),a=0,l=t.length;a<l;++a){r=t[a];const c=r&&this.getDatasetMeta(r.datasetIndex).controller;c&&c[s+"HoverStyle"](r.element,r.datasetIndex,r.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const i=this._active||[],n=t.map(({datasetIndex:o,index:r})=>{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Kn(n,i)&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,i))}notifyPlugins(t,i,n){return this._plugins.notify(this,t,i,n)}isPluginEnabled(t){return this._plugins._cache.filter(i=>i.plugin.id===t).length===1}_updateHoverStyles(t,i,n){const s=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(f=>h.datasetIndex===f.datasetIndex&&h.index===f.index)),r=o(i,t),a=n?t:o(t,i);r.length&&this.updateHoverStyle(r,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,i){const n={event:t,replay:i,cancelable:!0,inChartArea:this.isPointInArea(t)},s=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",n,s)===!1)return;const o=this._handleEvent(t,i,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,s),(o||n.changed)&&this.render(),this}_handleEvent(t,i,n){const{_active:s=[],options:o}=this,r=i,a=this._getActiveElements(t,s,n,r),l=wu(t),c=ap(t,this._lastEvent,n,l);n&&(this._lastEvent=null,lt(o.onHover,[t,a,this],this),l&&lt(o.onClick,[t,a,this],this));const h=!Kn(a,s);return(h||i)&&(this._active=a,this._updateHoverStyles(a,s,i)),this._lastEvent=c,h}_getActiveElements(t,i,n,s){if(t.type==="mouseout")return[];if(!n)return i;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,s)}}Z(Me,"defaults",bt),Z(Me,"instances",Hn),Z(Me,"overrides",ei),Z(Me,"registry",le),Z(Me,"version",np),Z(Me,"getChart",va);function wa(){return st(Me.instances,e=>e._plugins.invalidate())}var ho=Me;function cp(e,t,i){const{startAngle:n,pixelMargin:s,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=s/a;e.beginPath(),e.arc(o,r,a,n-c,i+c),l>s?(c=s/l,e.arc(o,r,l,i+c,n-c,!0)):e.arc(o,r,s,i+mt,n-mt),e.closePath(),e.clip()}function hp(e){return Uo(e,["outerStart","outerEnd","innerStart","innerEnd"])}function fp(e,t,i,n){const s=hp(e.options.borderRadius),o=(i-t)/2,r=Math.min(o,n*t/2),a=l=>{const c=(i-Math.min(o,l))*n/2;return $t(l,0,Math.min(o,c))};return{outerStart:a(s.outerStart),outerEnd:a(s.outerEnd),innerStart:$t(s.innerStart,0,r),innerEnd:$t(s.innerEnd,0,r)}}function li(e,t,i,n){return{x:i+e*Math.cos(t),y:n+e*Math.sin(t)}}function os(e,t,i,n,s,o){const{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:h}=t,f=Math.max(t.outerRadius+n+i-c,0),u=h>0?h+n+i+c:0;let d=0;const _=s-l;if(n){const et=h>0?h-n:0,U=f>0?f-n:0,W=(et+U)/2,q=W!==0?_*W/(W+n):_;d=(_-q)/2}const p=Math.max(.001,_*f-i/_t)/f,m=(_-p)/2,x=l+m+d,w=s-m-d,{outerStart:y,outerEnd:P,innerStart:S,innerEnd:E}=fp(t,u,f,w-x),R=f-y,T=f-P,B=x+y/R,F=w-P/T,N=u+S,V=u+E,rt=x+S/N,yt=w-E/V;if(e.beginPath(),o){const et=(B+F)/2;if(e.arc(r,a,f,B,et),e.arc(r,a,f,et,F),P>0){const ut=li(T,F,r,a);e.arc(ut.x,ut.y,P,F,w+mt)}const U=li(V,w,r,a);if(e.lineTo(U.x,U.y),E>0){const ut=li(V,yt,r,a);e.arc(ut.x,ut.y,E,w+mt,yt+Math.PI)}const W=(w-E/u+(x+S/u))/2;if(e.arc(r,a,u,w-E/u,W,!0),e.arc(r,a,u,W,x+S/u,!0),S>0){const ut=li(N,rt,r,a);e.arc(ut.x,ut.y,S,rt+Math.PI,x-mt)}const q=li(R,x,r,a);if(e.lineTo(q.x,q.y),y>0){const ut=li(R,B,r,a);e.arc(ut.x,ut.y,y,x-mt,B)}}else{e.moveTo(r,a);const et=Math.cos(B)*f+r,U=Math.sin(B)*f+a;e.lineTo(et,U);const W=Math.cos(F)*f+r,q=Math.sin(F)*f+a;e.lineTo(W,q)}e.closePath()}function up(e,t,i,n,s){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){os(e,t,i,n,l,s);for(let c=0;c<o;++c)e.fill();isNaN(a)||(l=r+(a%pt||pt))}return os(e,t,i,n,l,s),e.fill(),l}function dp(e,t,i,n,s){const{fullCircles:o,startAngle:r,circumference:a,options:l}=t,{borderWidth:c,borderJoinStyle:h}=l,f=l.borderAlign==="inner";if(!c)return;f?(e.lineWidth=c*2,e.lineJoin=h||"round"):(e.lineWidth=c,e.lineJoin=h||"bevel");let u=t.endAngle;if(o){os(e,t,i,n,u,s);for(let d=0;d<o;++d)e.stroke();isNaN(a)||(u=r+(a%pt||pt))}f&&cp(e,t,u),o||(os(e,t,i,n,u,s),e.stroke())}class zn extends Ie{constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,i,n){const s=this.getProps(["x","y"],n),{angle:o,distance:r}=Kl(s,{x:t,y:i}),{startAngle:a,endAngle:l,innerRadius:c,outerRadius:h,circumference:f}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],n),u=this.options.spacing/2,_=it(f,l-a)>=pt||Qn(o,a,l),p=Ii(r,c+u,h+u);return _&&p}getCenterPoint(t){const{x:i,y:n,startAngle:s,endAngle:o,innerRadius:r,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:l,spacing:c}=this.options,h=(s+o)/2,f=(r+a+c+l)/2;return{x:i+Math.cos(h)*f,y:n+Math.sin(h)*f}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:i,circumference:n}=this,s=(i.offset||0)/4,o=(i.spacing||0)/2,r=i.circular;if(this.pixelMargin=i.borderAlign==="inner"?.33:0,this.fullCircles=n>pt?Math.floor(n/pt):0,n===0||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const l=1-Math.sin(Math.min(_t,n||0)),c=s*l;t.fillStyle=i.backgroundColor,t.strokeStyle=i.borderColor,up(t,this,c,o,r),dp(t,this,c,o,r),t.restore()}}Z(zn,"id","arc"),Z(zn,"defaults",{borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),Z(zn,"defaultRoutes",{backgroundColor:"backgroundColor"});const Ma=(e,t)=>{let{boxHeight:i=t,boxWidth:n=t}=e;return e.usePointStyle&&(i=Math.min(i,t),n=e.pointStyleWidth||Math.min(n,t)),{boxWidth:n,boxHeight:i,itemHeight:Math.max(t,i)}},gp=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class ka extends Ie{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,i,n){this.maxWidth=t,this.maxHeight=i,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let i=lt(t.generateLabels,[this.chart],this)||[];t.filter&&(i=i.filter(n=>t.filter(n,this.chart.data))),t.sort&&(i=i.sort((n,s)=>t.sort(n,s,this.chart.data))),this.options.reverse&&i.reverse(),this.legendItems=i}fit(){const{options:t,ctx:i}=this;if(!t.display){this.width=this.height=0;return}const n=t.labels,s=wt(n.font),o=s.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Ma(n,o);let c,h;i.font=s.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,s,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,i,n,s){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=s+a;let f=t;o.textAlign="left",o.textBaseline="middle";let u=-1,d=-h;return this.legendItems.forEach((_,p)=>{const m=n+i/2+o.measureText(_.text).width;(p===0||c[c.length-1]+m+2*a>r)&&(f+=h,c[c.length-(p>0?0:1)]=0,d+=h,u++),l[p]={left:0,top:d,row:u,width:m,height:s},c[c.length-1]+=m+a}),f}_fitCols(t,i,n,s){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t;let f=a,u=0,d=0,_=0,p=0;return this.legendItems.forEach((m,x)=>{const{itemWidth:w,itemHeight:y}=pp(n,i,o,m,s);x>0&&d+y+2*a>h&&(f+=u+a,c.push({width:u,height:d}),_+=u+a,p++,u=d=0),l[x]={left:_,top:d,col:p,width:w,height:y},u=Math.max(u,w),d+=y+a}),f+=u,c.push({width:u,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:i,options:{align:n,labels:{padding:s},rtl:o}}=this,r=mi(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=Ot(n,this.left+s,this.right-this.lineWidths[a]);for(const c of i)a!==c.row&&(a=c.row,l=Ot(n,this.left+s,this.right-this.lineWidths[a])),c.top+=this.top+t+s,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+s}else{let a=0,l=Ot(n,this.top+t+s,this.bottom-this.columnSizes[a].height);for(const c of i)c.col!==a&&(a=c.col,l=Ot(n,this.top+t+s,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+s,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+s}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;$o(t,this),this._draw(),Vo(t)}}_draw(){const{options:t,columnSizes:i,lineWidths:n,ctx:s}=this,{align:o,labels:r}=t,a=bt.color,l=mi(t.rtl,this.left,this.width),c=wt(r.font),{padding:h}=r,f=c.size,u=f/2;let d;this.drawTitle(),s.textAlign=l.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=c.string;const{boxWidth:_,boxHeight:p,itemHeight:m}=Ma(r,f),x=function(E,R,T){if(isNaN(_)||_<=0||isNaN(p)||p<0)return;s.save();const B=it(T.lineWidth,1);if(s.fillStyle=it(T.fillStyle,a),s.lineCap=it(T.lineCap,"butt"),s.lineDashOffset=it(T.lineDashOffset,0),s.lineJoin=it(T.lineJoin,"miter"),s.lineWidth=B,s.strokeStyle=it(T.strokeStyle,a),s.setLineDash(it(T.lineDash,[])),r.usePointStyle){const F={radius:p*Math.SQRT2/2,pointStyle:T.pointStyle,rotation:T.rotation,borderWidth:B},N=l.xPlus(E,_/2),V=R+u;nc(s,F,N,V,r.pointStyleWidth&&_)}else{const F=R+Math.max((f-p)/2,0),N=l.leftForLtr(E,_),V=pi(T.borderRadius);s.beginPath(),Object.values(V).some(rt=>rt!==0)?es(s,{x:N,y:F,w:_,h:p,radius:V}):s.rect(N,F,_,p),s.fill(),B!==0&&s.stroke()}s.restore()},w=function(E,R,T){ii(s,T.text,E,R+m/2,c,{strikethrough:T.hidden,textAlign:l.textAlign(T.textAlign)})},y=this.isHorizontal(),P=this._computeTitleHeight();y?d={x:Ot(o,this.left+h,this.right-n[0]),y:this.top+h+P,line:0}:d={x:this.left+h,y:Ot(o,this.top+P+h,this.bottom-i[0].height),line:0},hc(this.ctx,t.textDirection);const S=m+h;this.legendItems.forEach((E,R)=>{s.strokeStyle=E.fontColor,s.fillStyle=E.fontColor;const T=s.measureText(E.text).width,B=l.textAlign(E.textAlign||(E.textAlign=r.textAlign)),F=_+u+T;let N=d.x,V=d.y;l.setWidth(this.width),y?R>0&&N+F+h>this.right&&(V=d.y+=S,d.line++,N=d.x=Ot(o,this.left+h,this.right-n[d.line])):R>0&&V+S>this.bottom&&(N=d.x=N+i[d.line].width+h,d.line++,V=d.y=Ot(o,this.top+P+h,this.bottom-i[d.line].height));const rt=l.x(N);if(x(rt,V,E),N=Eu(B,N+_+u,y?N+F:this.right,t.rtl),w(l.x(N),V,E),y)d.x+=F+h;else if(typeof E.text!="string"){const yt=c.lineHeight;d.y+=Mc(E,yt)}else d.y+=S}),fc(this.ctx,t.textDirection)}drawTitle(){const t=this.options,i=t.title,n=wt(i.font),s=It(i.padding);if(!i.display)return;const o=mi(t.rtl,this.left,this.width),r=this.ctx,a=i.position,l=n.size/2,c=s.top+l;let h,f=this.left,u=this.width;if(this.isHorizontal())u=Math.max(...this.lineWidths),h=this.top+c,f=Ot(t.align,f,this.right-u);else{const _=this.columnSizes.reduce((p,m)=>Math.max(p,m.height),0);h=c+Ot(t.align,this.top,this.bottom-_-t.labels.padding-this._computeTitleHeight())}const d=Ot(a,f,f+u);r.textAlign=o.textAlign(zo(a)),r.textBaseline="middle",r.strokeStyle=i.color,r.fillStyle=i.color,r.font=n.string,ii(r,i.text,d,h,n)}_computeTitleHeight(){const t=this.options.title,i=wt(t.font),n=It(t.padding);return t.display?i.lineHeight+n.height:0}_getLegendItemAt(t,i){let n,s,o;if(Ii(t,this.left,this.right)&&Ii(i,this.top,this.bottom)){for(o=this.legendHitBoxes,n=0;n<o.length;++n)if(s=o[n],Ii(t,s.left,s.left+s.width)&&Ii(i,s.top,s.top+s.height))return this.legendItems[n]}return null}handleEvent(t){const i=this.options;if(!_p(t.type,i))return;const n=this._getLegendItemAt(t.x,t.y);if(t.type==="mousemove"||t.type==="mouseout"){const s=this._hoveredItem,o=gp(s,n);s&&!o&&lt(i.onLeave,[t,s,this],this),this._hoveredItem=n,n&&!o&&lt(i.onHover,[t,n,this],this)}else n&&lt(i.onClick,[t,n,this],this)}}function pp(e,t,i,n,s){const o=mp(n,e,t,i),r=bp(s,n,t.lineHeight);return{itemWidth:o,itemHeight:r}}function mp(e,t,i,n){let s=e.text;return s&&typeof s!="string"&&(s=s.reduce((o,r)=>o.length>r.length?o:r)),t+i.size/2+n.measureText(s).width}function bp(e,t,i){let n=e;return typeof t.text!="string"&&(n=Mc(t,i)),n}function Mc(e,t){const i=e.text?e.text.length+.5:0;return t*i}function _p(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var xp={id:"legend",_element:ka,start(e,t,i){const n=e.legend=new ka({ctx:e.ctx,options:i,chart:e});Xt.configure(e,n,i),Xt.addBox(e,n)},stop(e){Xt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,i){const n=e.legend;Xt.configure(e,n,i),n.options=i},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,i){const n=t.datasetIndex,s=i.chart;s.isDatasetVisible(n)?(s.hide(n),t.hidden=!0):(s.show(n),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:i,pointStyle:n,textAlign:s,color:o,useBorderRadius:r,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(i?0:void 0),h=It(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:n||c.pointStyle,rotation:c.rotation,textAlign:s||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class kc extends Ie{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,i){const n=this.options;if(this.left=0,this.top=0,!n.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=i;const s=gt(n.text)?n.text.length:1;this._padding=It(n.padding);const o=s*wt(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:i,left:n,bottom:s,right:o,options:r}=this,a=r.align;let l=0,c,h,f;return this.isHorizontal()?(h=Ot(a,n,o),f=i+t,c=o-n):(r.position==="left"?(h=n+t,f=Ot(a,s,i),l=_t*-.5):(h=o-t,f=Ot(a,i,s),l=_t*.5),c=s-i),{titleX:h,titleY:f,maxWidth:c,rotation:l}}draw(){const t=this.ctx,i=this.options;if(!i.display)return;const n=wt(i.font),o=n.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);ii(t,i.text,0,0,n,{color:i.color,maxWidth:l,rotation:c,textAlign:zo(i.align),textBaseline:"middle",translation:[r,a]})}}function yp(e,t){const i=new kc({ctx:e.ctx,options:t,chart:e});Xt.configure(e,i,t),Xt.addBox(e,i),e.titleBlock=i}var vp={id:"title",_element:kc,start(e,t,i){yp(e,i)},stop(e){const t=e.titleBlock;Xt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,i){const n=e.titleBlock;Xt.configure(e,n,i),n.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Hi={average(e){if(!e.length)return!1;let t,i,n=0,s=0,o=0;for(t=0,i=e.length;t<i;++t){const r=e[t].element;if(r&&r.hasValue()){const a=r.tooltipPosition();n+=a.x,s+=a.y,++o}}return{x:n/o,y:s/o}},nearest(e,t){if(!e.length)return!1;let i=t.x,n=t.y,s=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=e.length;o<r;++o){const l=e[o].element;if(l&&l.hasValue()){const c=l.getCenterPoint(),h=Su(t,c);h<s&&(s=h,a=l)}}if(a){const l=a.tooltipPosition();i=l.x,n=l.y}return{x:i,y:n}}};function ae(e,t){return t&&(gt(t)?Array.prototype.push.apply(e,t):e.push(t)),e}function pe(e){return(typeof e=="string"||e instanceof String)&&e.indexOf(`+"`"+`
`+"`"+`)>-1?e.split(`+"`"+`
`+"`"+`):e}function wp(e,t){const{element:i,datasetIndex:n,index:s}=t,o=e.getDatasetMeta(n).controller,{label:r,value:a}=o.getLabelAndValue(s);return{chart:e,label:r,parsed:o.getParsed(s),raw:e.data.datasets[n].data[s],formattedValue:a,dataset:o.getDataset(),dataIndex:s,datasetIndex:n,element:i}}function Ca(e,t){const i=e.chart.ctx,{body:n,footer:s,title:o}=e,{boxWidth:r,boxHeight:a}=t,l=wt(t.bodyFont),c=wt(t.titleFont),h=wt(t.footerFont),f=o.length,u=s.length,d=n.length,_=It(t.padding);let p=_.height,m=0,x=n.reduce((P,S)=>P+S.before.length+S.lines.length+S.after.length,0);if(x+=e.beforeBody.length+e.afterBody.length,f&&(p+=f*c.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),x){const P=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;p+=d*P+(x-d)*l.lineHeight+(x-1)*t.bodySpacing}u&&(p+=t.footerMarginTop+u*h.lineHeight+(u-1)*t.footerSpacing);let w=0;const y=function(P){m=Math.max(m,i.measureText(P).width+w)};return i.save(),i.font=c.string,st(e.title,y),i.font=l.string,st(e.beforeBody.concat(e.afterBody),y),w=t.displayColors?r+2+t.boxPadding:0,st(n,P=>{st(P.before,y),st(P.lines,y),st(P.after,y)}),w=0,i.font=h.string,st(e.footer,y),i.restore(),m+=_.width,{width:m,height:p}}function Mp(e,t){const{y:i,height:n}=t;return i<n/2?"top":i>e.height-n/2?"bottom":"center"}function kp(e,t,i,n){const{x:s,width:o}=n,r=i.caretSize+i.caretPadding;if(e==="left"&&s+o+r>t.width||e==="right"&&s-o-r<0)return!0}function Cp(e,t,i,n){const{x:s,width:o}=i,{width:r,chartArea:{left:a,right:l}}=e;let c="center";return n==="center"?c=s<=(a+l)/2?"left":"right":s<=o/2?c="left":s>=r-o/2&&(c="right"),kp(c,e,t,i)&&(c="center"),c}function Sa(e,t,i){const n=i.yAlign||t.yAlign||Mp(e,i);return{xAlign:i.xAlign||t.xAlign||Cp(e,t,i,n),yAlign:n}}function Sp(e,t){let{x:i,width:n}=e;return t==="right"?i-=n:t==="center"&&(i-=n/2),i}function Pp(e,t,i){let{y:n,height:s}=e;return t==="top"?n+=i:t==="bottom"?n-=s+i:n-=s/2,n}function Pa(e,t,i,n){const{caretSize:s,caretPadding:o,cornerRadius:r}=e,{xAlign:a,yAlign:l}=i,c=s+o,{topLeft:h,topRight:f,bottomLeft:u,bottomRight:d}=pi(r);let _=Sp(t,a);const p=Pp(t,l,c);return l==="center"?a==="left"?_+=c:a==="right"&&(_-=c):a==="left"?_-=Math.max(h,u)+s:a==="right"&&(_+=Math.max(f,d)+s),{x:$t(_,0,n.width-t.width),y:$t(p,0,n.height-t.height)}}function Pn(e,t,i){const n=It(i.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-n.right:e.x+n.left}function Oa(e){return ae([],pe(e))}function Op(e,t,i){return ni(e,{tooltip:t,tooltipItems:i,type:"tooltip"})}function Aa(e,t){const i=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return i?e.override(i):e}const Cc={beforeTitle:de,title(e){if(e.length>0){const t=e[0],i=t.chart.data.labels,n=i?i.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(n>0&&t.dataIndex<n)return i[t.dataIndex]}return""},afterTitle:de,beforeBody:de,beforeLabel:de,label(e){if(this&&this.options&&this.options.mode==="dataset")return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const i=e.formattedValue;return dt(i)||(t+=i),t},labelColor(e){const i=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:i.borderColor,backgroundColor:i.backgroundColor,borderWidth:i.borderWidth,borderDash:i.borderDash,borderDashOffset:i.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const i=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:i.pointStyle,rotation:i.rotation}},afterLabel:de,afterBody:de,beforeFooter:de,footer:de,afterFooter:de};function Ht(e,t,i,n){const s=e[t].call(i,n);return typeof s>"u"?Cc[t].call(i,n):s}class fo extends Ie{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const i=this.chart,n=this.options.setContext(this.getContext()),s=n.enabled&&i.options.animation&&n.animations,o=new uc(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=Op(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,i){const{callbacks:n}=i,s=Ht(n,"beforeTitle",this,t),o=Ht(n,"title",this,t),r=Ht(n,"afterTitle",this,t);let a=[];return a=ae(a,pe(s)),a=ae(a,pe(o)),a=ae(a,pe(r)),a}getBeforeBody(t,i){return Oa(Ht(i.callbacks,"beforeBody",this,t))}getBody(t,i){const{callbacks:n}=i,s=[];return st(t,o=>{const r={before:[],lines:[],after:[]},a=Aa(n,o);ae(r.before,pe(Ht(a,"beforeLabel",this,o))),ae(r.lines,Ht(a,"label",this,o)),ae(r.after,pe(Ht(a,"afterLabel",this,o))),s.push(r)}),s}getAfterBody(t,i){return Oa(Ht(i.callbacks,"afterBody",this,t))}getFooter(t,i){const{callbacks:n}=i,s=Ht(n,"beforeFooter",this,t),o=Ht(n,"footer",this,t),r=Ht(n,"afterFooter",this,t);let a=[];return a=ae(a,pe(s)),a=ae(a,pe(o)),a=ae(a,pe(r)),a}_createItems(t){const i=this._active,n=this.chart.data,s=[],o=[],r=[];let a=[],l,c;for(l=0,c=i.length;l<c;++l)a.push(wp(this.chart,i[l]));return t.filter&&(a=a.filter((h,f,u)=>t.filter(h,f,u,n))),t.itemSort&&(a=a.sort((h,f)=>t.itemSort(h,f,n))),st(a,h=>{const f=Aa(t.callbacks,h);s.push(Ht(f,"labelColor",this,h)),o.push(Ht(f,"labelPointStyle",this,h)),r.push(Ht(f,"labelTextColor",this,h))}),this.labelColors=s,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,i){const n=this.options.setContext(this.getContext()),s=this._active;let o,r=[];if(!s.length)this.opacity!==0&&(o={opacity:0});else{const a=Hi[n.position].call(this,s,this._eventPosition);r=this._createItems(n),this.title=this.getTitle(r,n),this.beforeBody=this.getBeforeBody(r,n),this.body=this.getBody(r,n),this.afterBody=this.getAfterBody(r,n),this.footer=this.getFooter(r,n);const l=this._size=Ca(this,n),c=Object.assign({},a,l),h=Sa(this.chart,n,c),f=Pa(n,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:f.x,y:f.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:i})}drawCaret(t,i,n,s){const o=this.getCaretPosition(t,n,s);i.lineTo(o.x1,o.y1),i.lineTo(o.x2,o.y2),i.lineTo(o.x3,o.y3)}getCaretPosition(t,i,n){const{xAlign:s,yAlign:o}=this,{caretSize:r,cornerRadius:a}=n,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:f}=pi(a),{x:u,y:d}=t,{width:_,height:p}=i;let m,x,w,y,P,S;return o==="center"?(P=d+p/2,s==="left"?(m=u,x=m-r,y=P+r,S=P-r):(m=u+_,x=m+r,y=P-r,S=P+r),w=m):(s==="left"?x=u+Math.max(l,h)+r:s==="right"?x=u+_-Math.max(c,f)-r:x=this.caretX,o==="top"?(y=d,P=y-r,m=x-r,w=x+r):(y=d+p,P=y+r,m=x+r,w=x-r),S=y),{x1:m,x2:x,x3:w,y1:y,y2:P,y3:S}}drawTitle(t,i,n){const s=this.title,o=s.length;let r,a,l;if(o){const c=mi(n.rtl,this.x,this.width);for(t.x=Pn(this,n.titleAlign,n),i.textAlign=c.textAlign(n.titleAlign),i.textBaseline="middle",r=wt(n.titleFont),a=n.titleSpacing,i.fillStyle=n.titleColor,i.font=r.string,l=0;l<o;++l)i.fillText(s[l],c.x(t.x),t.y+r.lineHeight/2),t.y+=r.lineHeight+a,l+1===o&&(t.y+=n.titleMarginBottom-a)}}_drawColorBox(t,i,n,s,o){const r=this.labelColors[n],a=this.labelPointStyles[n],{boxHeight:l,boxWidth:c,boxPadding:h}=o,f=wt(o.bodyFont),u=Pn(this,"left",o),d=s.x(u),_=l<f.lineHeight?(f.lineHeight-l)/2:0,p=i.y+_;if(o.usePointStyle){const m={radius:Math.min(c,l)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},x=s.leftForLtr(d,c)+c/2,w=p+l/2;t.strokeStyle=o.multiKeyBackground,t.fillStyle=o.multiKeyBackground,qr(t,m,x,w),t.strokeStyle=r.borderColor,t.fillStyle=r.backgroundColor,qr(t,m,x,w)}else{t.lineWidth=tt(r.borderWidth)?Math.max(...Object.values(r.borderWidth)):r.borderWidth||1,t.strokeStyle=r.borderColor,t.setLineDash(r.borderDash||[]),t.lineDashOffset=r.borderDashOffset||0;const m=s.leftForLtr(d,c-h),x=s.leftForLtr(s.xPlus(d,1),c-h-2),w=pi(r.borderRadius);Object.values(w).some(y=>y!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,es(t,{x:m,y:p,w:c,h:l,radius:w}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),es(t,{x,y:p+1,w:c-2,h:l-2,radius:w}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(m,p,c,l),t.strokeRect(m,p,c,l),t.fillStyle=r.backgroundColor,t.fillRect(x,p+1,c-2,l-2))}t.fillStyle=this.labelTextColors[n]}drawBody(t,i,n){const{body:s}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:h}=n,f=wt(n.bodyFont);let u=f.lineHeight,d=0;const _=mi(n.rtl,this.x,this.width),p=function(T){i.fillText(T,_.x(t.x+d),t.y+u/2),t.y+=u+o},m=_.textAlign(r);let x,w,y,P,S,E,R;for(i.textAlign=r,i.textBaseline="middle",i.font=f.string,t.x=Pn(this,m,n),i.fillStyle=n.bodyColor,st(this.beforeBody,p),d=a&&m!=="right"?r==="center"?c/2+h:c+2+h:0,P=0,E=s.length;P<E;++P){for(x=s[P],w=this.labelTextColors[P],i.fillStyle=w,st(x.before,p),y=x.lines,a&&y.length&&(this._drawColorBox(i,t,P,_,n),u=Math.max(f.lineHeight,l)),S=0,R=y.length;S<R;++S)p(y[S]),u=f.lineHeight;st(x.after,p)}d=0,u=f.lineHeight,st(this.afterBody,p),t.y-=o}drawFooter(t,i,n){const s=this.footer,o=s.length;let r,a;if(o){const l=mi(n.rtl,this.x,this.width);for(t.x=Pn(this,n.footerAlign,n),t.y+=n.footerMarginTop,i.textAlign=l.textAlign(n.footerAlign),i.textBaseline="middle",r=wt(n.footerFont),i.fillStyle=n.footerColor,i.font=r.string,a=0;a<o;++a)i.fillText(s[a],l.x(t.x),t.y+r.lineHeight/2),t.y+=r.lineHeight+n.footerSpacing}}drawBackground(t,i,n,s){const{xAlign:o,yAlign:r}=this,{x:a,y:l}=t,{width:c,height:h}=n,{topLeft:f,topRight:u,bottomLeft:d,bottomRight:_}=pi(s.cornerRadius);i.fillStyle=s.backgroundColor,i.strokeStyle=s.borderColor,i.lineWidth=s.borderWidth,i.beginPath(),i.moveTo(a+f,l),r==="top"&&this.drawCaret(t,i,n,s),i.lineTo(a+c-u,l),i.quadraticCurveTo(a+c,l,a+c,l+u),r==="center"&&o==="right"&&this.drawCaret(t,i,n,s),i.lineTo(a+c,l+h-_),i.quadraticCurveTo(a+c,l+h,a+c-_,l+h),r==="bottom"&&this.drawCaret(t,i,n,s),i.lineTo(a+d,l+h),i.quadraticCurveTo(a,l+h,a,l+h-d),r==="center"&&o==="left"&&this.drawCaret(t,i,n,s),i.lineTo(a,l+f),i.quadraticCurveTo(a,l,a+f,l),i.closePath(),i.fill(),s.borderWidth>0&&i.stroke()}_updateAnimationTarget(t){const i=this.chart,n=this.$animations,s=n&&n.x,o=n&&n.y;if(s||o){const r=Hi[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Ca(this,t),l=Object.assign({},r,this._size),c=Sa(i,t,l),h=Pa(t,l,c,i);(s._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){const i=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(i);const s={width:this.width,height:this.height},o={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const r=It(i.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;i.enabled&&a&&(t.save(),t.globalAlpha=n,this.drawBackground(o,t,s,i),hc(t,i.textDirection),o.y+=r.top,this.drawTitle(o,t,i),this.drawBody(o,t,i),this.drawFooter(o,t,i),fc(t,i.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,i){const n=this._active,s=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!Kn(n,s),r=this._positionChanged(s,i);(o||r)&&(this._active=s,this._eventPosition=i,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,i,n=!0){if(i&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,o=this._active||[],r=this._getActiveElements(t,o,i,n),a=this._positionChanged(r,t),l=i||!Kn(r,o)||a;return l&&(this._active=r,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,i))),l}_getActiveElements(t,i,n,s){const o=this.options;if(t.type==="mouseout")return[];if(!s)return i;const r=this.chart.getElementsAtEventForMode(t,o.mode,o,n);return o.reverse&&r.reverse(),r}_positionChanged(t,i){const{caretX:n,caretY:s,options:o}=this,r=Hi[o.position].call(this,t,i);return r!==!1&&(n!==r.x||s!==r.y)}}Z(fo,"positioners",Hi);var Ap={id:"tooltip",_element:fo,positioners:Hi,afterInit(e,t,i){i&&(e.tooltip=new fo({chart:e,options:i}))},beforeUpdate(e,t,i){e.tooltip&&e.tooltip.initialize(i)},reset(e,t,i){e.tooltip&&e.tooltip.initialize(i)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const i={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",i)}},afterEvent(e,t){if(e.tooltip){const i=t.replay;e.tooltip.handleEvent(t.event,i,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Cc},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const Tp=(e,t,i,n)=>(typeof t=="string"?(i=e.push(t)-1,n.unshift({index:i,label:t})):isNaN(t)&&(i=null),i);function Dp(e,t,i,n){const s=e.indexOf(t);if(s===-1)return Tp(e,t,i,n);const o=e.lastIndexOf(t);return s!==o?i:s}const Lp=(e,t)=>e===null?null:$t(Math.round(e),0,t);function Ta(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class uo extends si{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const i=this._addedLabels;if(i.length){const n=this.getLabels();for(const{index:s,label:o}of i)n[s]===o&&n.splice(s,1);this._addedLabels=[]}super.init(t)}parse(t,i){if(dt(t))return null;const n=this.getLabels();return i=isFinite(i)&&n[i]===t?i:Dp(n,t,it(i,t),this._addedLabels),Lp(i,n.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:i}=this.getUserBounds();let{min:n,max:s}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(n=0),i||(s=this.getLabels().length-1)),this.min=n,this.max=s}buildTicks(){const t=this.min,i=this.max,n=this.options.offset,s=[];let o=this.getLabels();o=t===0&&i===o.length-1?o:o.slice(t,i+1),this._valueRange=Math.max(o.length-(n?0:1),1),this._startValue=this.min-(n?.5:0);for(let r=t;r<=i;r++)s.push({value:r});return s}getLabelForValue(t){return Ta.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const i=this.ticks;return t<0||t>i.length-1?null:this.getPixelForValue(i[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}Z(uo,"id","category"),Z(uo,"defaults",{ticks:{callback:Ta}});function Ep(e,t){const i=[],{bounds:s,step:o,min:r,max:a,precision:l,count:c,maxTicks:h,maxDigits:f,includeBounds:u}=e,d=o||1,_=h-1,{min:p,max:m}=t,x=!dt(r),w=!dt(a),y=!dt(c),P=(m-p)/(f+1);let S=Fr((m-p)/_/d)*d,E,R,T,B;if(S<1e-14&&!x&&!w)return[{value:p},{value:m}];B=Math.ceil(m/S)-Math.floor(p/S),B>_&&(S=Fr(B*S/_/d)*d),dt(l)||(E=Math.pow(10,l),S=Math.ceil(S*E)/E),s==="ticks"?(R=Math.floor(p/S)*S,T=Math.ceil(m/S)*S):(R=p,T=m),x&&w&&o&&Cu((a-r)/o,S/1e3)?(B=Math.round(Math.min((a-r)/S,h)),S=(a-r)/B,R=r,T=a):y?(R=x?r:R,T=w?a:T,B=c-1,S=(T-R)/B):(B=(T-R)/S,Rn(B,Math.round(B),S/1e3)?B=Math.round(B):B=Math.ceil(B));const F=Math.max(Br(S),Br(R));E=Math.pow(10,dt(l)?F:l),R=Math.round(R*E)/E,T=Math.round(T*E)/E;let N=0;for(x&&(u&&R!==r?(i.push({value:r}),R<r&&N++,Rn(Math.round((R+N*S)*E)/E,r,Da(r,P,e))&&N++):R<r&&N++);N<B;++N)i.push({value:Math.round((R+N*S)*E)/E});return w&&u&&T!==a?i.length&&Rn(i[i.length-1].value,a,Da(a,P,e))?i[i.length-1].value=a:i.push({value:a}):(!w||T===a)&&i.push({value:T}),i}function Da(e,t,{horizontal:i,minRotation:n}){const s=ue(n),o=(i?Math.sin(s):Math.cos(s))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class rs extends si{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,i){return dt(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:i,maxDefined:n}=this.getUserBounds();let{min:s,max:o}=this;const r=l=>s=i?s:l,a=l=>o=n?o:l;if(t){const l=Zn(s),c=Zn(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(s===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(s-l)}this.min=s,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:i,stepSize:n}=t,s;return n?(s=Math.ceil(this.max/n)-Math.floor(this.min/n)+1,s>1e3&&(console.warn(`+"`"+`scales.${this.id}.ticks.stepSize: ${n} would result generating up to ${s} ticks. Limiting to 1000.`+"`"+`),s=1e3)):(s=this.computeTickLimit(),i=i||11),i&&(s=Math.min(i,s)),s}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,i=t.ticks;let n=this.getTickLimit();n=Math.max(2,n);const s={maxTicks:n,bounds:t.bounds,min:t.min,max:t.max,precision:i.precision,step:i.stepSize,count:i.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:i.minRotation||0,includeBounds:i.includeBounds!==!1},o=this._range||this,r=Ep(s,o);return t.bounds==="ticks"&&Yl(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let i=this.min,n=this.max;if(super.configure(),this.options.offset&&t.length){const s=(n-i)/Math.max(t.length-1,1)/2;i-=s,n+=s}this._startValue=i,this._endValue=n,this._valueRange=n-i}getLabelForValue(t){return ws(t,this.chart.options.locale,this.options.ticks.format)}}class La extends rs{determineDataLimits(){const{min:t,max:i}=this.getMinMax(!0);this.min=kt(t)?t:0,this.max=kt(i)?i:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),i=t?this.width:this.height,n=ue(this.options.ticks.minRotation),s=(t?Math.sin(n):Math.cos(n))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(i/Math.min(40,o.lineHeight/s))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}Z(La,"id","linear"),Z(La,"defaults",{ticks:{callback:Ms.formatters.numeric}});const on=e=>Math.floor(Ce(e)),$e=(e,t)=>Math.pow(10,on(e)+t);function Ea(e){return e/Math.pow(10,on(e))===1}function Ia(e,t,i){const n=Math.pow(10,i),s=Math.floor(e/n);return Math.ceil(t/n)-s}function Ip(e,t){const i=t-e;let n=on(i);for(;Ia(e,t,n)>10;)n++;for(;Ia(e,t,n)<10;)n--;return Math.min(n,on(e))}function Rp(e,{min:t,max:i}){t=Wt(e.min,t);const n=[],s=on(t);let o=Ip(t,i),r=o<0?Math.pow(10,Math.abs(o)):1;const a=Math.pow(10,o),l=s>o?Math.pow(10,s):0,c=Math.round((t-l)*r)/r,h=Math.floor((t-l)/a/10)*a*10;let f=Math.floor((c-h)/Math.pow(10,o)),u=Wt(e.min,Math.round((l+h+f*Math.pow(10,o))*r)/r);for(;u<i;)n.push({value:u,major:Ea(u),significand:f}),f>=10?f=f<15?15:20:f++,f>=20&&(o++,f=2,r=o>=0?1:r),u=Math.round((l+h+f*Math.pow(10,o))*r)/r;const d=Wt(e.max,u);return n.push({value:d,major:Ea(d),significand:f}),n}class Ra extends si{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,i){const n=rs.prototype.parse.apply(this,[t,i]);if(n===0){this._zero=!0;return}return kt(n)&&n>0?n:null}determineDataLimits(){const{min:t,max:i}=this.getMinMax(!0);this.min=kt(t)?Math.max(0,t):null,this.max=kt(i)?Math.max(0,i):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!kt(this._userMin)&&(this.min=t===$e(this.min,0)?$e(this.min,-1):$e(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:i}=this.getUserBounds();let n=this.min,s=this.max;const o=a=>n=t?n:a,r=a=>s=i?s:a;n===s&&(n<=0?(o(1),r(10)):(o($e(n,-1)),r($e(s,1)))),n<=0&&o($e(s,-1)),s<=0&&r($e(n,1)),this.min=n,this.max=s}buildTicks(){const t=this.options,i={min:this._userMin,max:this._userMax},n=Rp(i,this);return t.bounds==="ticks"&&Yl(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}getLabelForValue(t){return t===void 0?"0":ws(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Ce(t),this._valueRange=Ce(this.max)-Ce(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Ce(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const i=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+i*this._valueRange)}}Z(Ra,"id","logarithmic"),Z(Ra,"defaults",{ticks:{callback:Ms.formatters.logarithmic,major:{enabled:!0}}});function go(e){const t=e.ticks;if(t.display&&e.display){const i=It(t.backdropPadding);return it(t.font&&t.font.size,bt.font.size)+i.height}return 0}function Fp(e,t,i){return i=gt(i)?i:[i],{w:fd(e,t.string,i),h:i.length*t.lineHeight}}function Fa(e,t,i,n,s){return e===n||e===s?{start:t-i/2,end:t+i/2}:e<n||e>s?{start:t-i,end:t}:{start:t,end:t+i}}function Bp(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},i=Object.assign({},t),n=[],s=[],o=e._pointLabels.length,r=e.options.pointLabels,a=r.centerPointLabels?_t/o:0;for(let l=0;l<o;l++){const c=r.setContext(e.getPointLabelContext(l));s[l]=c.padding;const h=e.getPointPosition(l,e.drawingArea+s[l],a),f=wt(c.font),u=Fp(e.ctx,f,e._pointLabels[l]);n[l]=u;const d=ce(e.getIndexAngle(l)+a),_=Math.round(Bo(d)),p=Fa(_,h.x,u.w,0,180),m=Fa(_,h.y,u.h,90,270);Hp(i,t,d,p,m)}e.setCenterPoint(t.l-i.l,i.r-t.r,t.t-i.t,i.b-t.b),e._pointLabelItems=zp(e,n,s)}function Hp(e,t,i,n,s){const o=Math.abs(Math.sin(i)),r=Math.abs(Math.cos(i));let a=0,l=0;n.start<t.l?(a=(t.l-n.start)/o,e.l=Math.min(e.l,t.l-a)):n.end>t.r&&(a=(n.end-t.r)/o,e.r=Math.max(e.r,t.r+a)),s.start<t.t?(l=(t.t-s.start)/r,e.t=Math.min(e.t,t.t-l)):s.end>t.b&&(l=(s.end-t.b)/r,e.b=Math.max(e.b,t.b+l))}function zp(e,t,i){const n=[],s=e._pointLabels.length,o=e.options,r=go(o)/2,a=e.drawingArea,l=o.pointLabels.centerPointLabels?_t/s:0;for(let c=0;c<s;c++){const h=e.getPointPosition(c,a+r+i[c],l),f=Math.round(Bo(ce(h.angle+mt))),u=t[c],d=Wp(h.y,u.h,f),_=Np(f),p=jp(h.x,u.w,_);n.push({x:h.x,y:d,textAlign:_,left:p,top:d,right:p+u.w,bottom:d+u.h})}return n}function Np(e){return e===0||e===180?"center":e<180?"left":"right"}function jp(e,t,i){return i==="right"?e-=t:i==="center"&&(e-=t/2),e}function Wp(e,t,i){return i===90||i===270?e-=t/2:(i>270||i<90)&&(e-=t),e}function $p(e,t){const{ctx:i,options:{pointLabels:n}}=e;for(let s=t-1;s>=0;s--){const o=n.setContext(e.getPointLabelContext(s)),r=wt(o.font),{x:a,y:l,textAlign:c,left:h,top:f,right:u,bottom:d}=e._pointLabelItems[s],{backdropColor:_}=o;if(!dt(_)){const p=pi(o.borderRadius),m=It(o.backdropPadding);i.fillStyle=_;const x=h-m.left,w=f-m.top,y=u-h+m.width,P=d-f+m.height;Object.values(p).some(S=>S!==0)?(i.beginPath(),es(i,{x,y:w,w:y,h:P,radius:p}),i.fill()):i.fillRect(x,w,y,P)}ii(i,e._pointLabels[s],a,l+r.lineHeight/2,r,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Sc(e,t,i,n){const{ctx:s}=e;if(i)s.arc(e.xCenter,e.yCenter,t,0,pt);else{let o=e.getPointPosition(0,t);s.moveTo(o.x,o.y);for(let r=1;r<n;r++)o=e.getPointPosition(r,t),s.lineTo(o.x,o.y)}}function Vp(e,t,i,n,s){const o=e.ctx,r=t.circular,{color:a,lineWidth:l}=t;!r&&!n||!a||!l||i<0||(o.save(),o.strokeStyle=a,o.lineWidth=l,o.setLineDash(s.dash),o.lineDashOffset=s.dashOffset,o.beginPath(),Sc(e,i,r,n),o.closePath(),o.stroke(),o.restore())}function Up(e,t,i){return ni(e,{label:i,index:t,type:"pointLabel"})}class On extends rs{constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=It(go(this.options)/2),i=this.width=this.maxWidth-t.width,n=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+i/2+t.left),this.yCenter=Math.floor(this.top+n/2+t.top),this.drawingArea=Math.floor(Math.min(i,n)/2)}determineDataLimits(){const{min:t,max:i}=this.getMinMax(!1);this.min=kt(t)&&!isNaN(t)?t:0,this.max=kt(i)&&!isNaN(i)?i:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/go(this.options))}generateTickLabels(t){rs.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map((i,n)=>{const s=lt(this.options.pointLabels.callback,[i,n],this);return s||s===0?s:""}).filter((i,n)=>this.chart.getDataVisibility(n))}fit(){const t=this.options;t.display&&t.pointLabels.display?Bp(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,i,n,s){this.xCenter+=Math.floor((t-i)/2),this.yCenter+=Math.floor((n-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,i,n,s))}getIndexAngle(t){const i=pt/(this._pointLabels.length||1),n=this.options.startAngle||0;return ce(t*i+ue(n))}getDistanceFromCenterForValue(t){if(dt(t))return NaN;const i=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*i:(t-this.min)*i}getValueForDistanceFromCenter(t){if(dt(t))return NaN;const i=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-i:this.min+i}getPointLabelContext(t){const i=this._pointLabels||[];if(t>=0&&t<i.length){const n=i[t];return Up(this.getContext(),t,n)}}getPointPosition(t,i,n=0){const s=this.getIndexAngle(t)-mt+n;return{x:Math.cos(s)*i+this.xCenter,y:Math.sin(s)*i+this.yCenter,angle:s}}getPointPositionForValue(t,i){return this.getPointPosition(t,this.getDistanceFromCenterForValue(i))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:i,top:n,right:s,bottom:o}=this._pointLabelItems[t];return{left:i,top:n,right:s,bottom:o}}drawBackground(){const{backgroundColor:t,grid:{circular:i}}=this.options;if(t){const n=this.ctx;n.save(),n.beginPath(),Sc(this,this.getDistanceFromCenterForValue(this._endValue),i,this._pointLabels.length),n.closePath(),n.fillStyle=t,n.fill(),n.restore()}}drawGrid(){const t=this.ctx,i=this.options,{angleLines:n,grid:s,border:o}=i,r=this._pointLabels.length;let a,l,c;if(i.pointLabels.display&&$p(this,r),s.display&&this.ticks.forEach((h,f)=>{if(f!==0){l=this.getDistanceFromCenterForValue(h.value);const u=this.getContext(f),d=s.setContext(u),_=o.setContext(u);Vp(this,d,l,r,_)}}),n.display){for(t.save(),a=r-1;a>=0;a--){const h=n.setContext(this.getPointLabelContext(a)),{color:f,lineWidth:u}=h;!u||!f||(t.lineWidth=u,t.strokeStyle=f,t.setLineDash(h.borderDash),t.lineDashOffset=h.borderDashOffset,l=this.getDistanceFromCenterForValue(i.ticks.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,i=this.options,n=i.ticks;if(!n.display)return;const s=this.getIndexAngle(0);let o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&!i.reverse)return;const c=n.setContext(this.getContext(l)),h=wt(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const f=It(c.backdropPadding);t.fillRect(-r/2-f.left,-o-h.size/2-f.top,r+f.width,h.size+f.height)}ii(t,a.label,0,-o,h,{color:c.color})}),t.restore()}drawTitle(){}}Z(On,"id","radialLinear"),Z(On,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ms.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),Z(On,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),Z(On,"descriptors",{angleLines:{_fallback:"grid"}});const Cs={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Nt=Object.keys(Cs);function Yp(e,t){return e-t}function Ba(e,t){if(dt(t))return null;const i=e._adapter,{parser:n,round:s,isoWeekday:o}=e._parseOpts;let r=t;return typeof n=="function"&&(r=n(r)),kt(r)||(r=typeof n=="string"?i.parse(r,n):i.parse(r)),r===null?null:(s&&(r=s==="week"&&(Jn(o)||o===!0)?i.startOf(r,"isoWeek",o):i.startOf(r,s)),+r)}function Ha(e,t,i,n){const s=Nt.length;for(let o=Nt.indexOf(e);o<s-1;++o){const r=Cs[Nt[o]],a=r.steps?r.steps:Number.MAX_SAFE_INTEGER;if(r.common&&Math.ceil((i-t)/(a*r.size))<=n)return Nt[o]}return Nt[s-1]}function Kp(e,t,i,n,s){for(let o=Nt.length-1;o>=Nt.indexOf(i);o--){const r=Nt[o];if(Cs[r].common&&e._adapter.diff(s,n,r)>=t-1)return r}return Nt[i?Nt.indexOf(i):0]}function Xp(e){for(let t=Nt.indexOf(e)+1,i=Nt.length;t<i;++t)if(Cs[Nt[t]].common)return Nt[t]}function za(e,t,i){if(!i)e[t]=!0;else if(i.length){const{lo:n,hi:s}=Ho(i,t),o=i[n]>=t?i[n]:i[s];e[o]=!0}}function qp(e,t,i,n){const s=e._adapter,o=+s.startOf(t[0].value,n),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+s.add(a,1,n))l=i[a],l>=0&&(t[l].major=!0);return t}function Na(e,t,i){const n=[],s={},o=t.length;let r,a;for(r=0;r<o;++r)a=t[r],s[a]=r,n.push({value:a,major:!1});return o===0||!i?n:qp(e,n,s,i)}class as extends si{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,i={}){const n=t.time||(t.time={}),s=this._adapter=new tg._date(t.adapters.date);s.init(i),$i(n.displayFormats,s.formats()),this._parseOpts={parser:n.parser,round:n.round,isoWeekday:n.isoWeekday},super.init(t),this._normalized=i.normalized}parse(t,i){return t===void 0?null:Ba(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,i=this._adapter,n=t.time.unit||"day";let{min:s,max:o,minDefined:r,maxDefined:a}=this.getUserBounds();function l(c){!r&&!isNaN(c.min)&&(s=Math.min(s,c.min)),!a&&!isNaN(c.max)&&(o=Math.max(o,c.max))}(!r||!a)&&(l(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&l(this.getMinMax(!1))),s=kt(s)&&!isNaN(s)?s:+i.startOf(Date.now(),n),o=kt(o)&&!isNaN(o)?o:+i.endOf(Date.now(),n)+1,this.min=Math.min(s,o-1),this.max=Math.max(s+1,o)}_getLabelBounds(){const t=this.getLabelTimestamps();let i=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;return t.length&&(i=t[0],n=t[t.length-1]),{min:i,max:n}}buildTicks(){const t=this.options,i=t.time,n=t.ticks,s=n.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const o=this.min,r=this.max,a=Au(s,o,r);return this._unit=i.unit||(n.autoSkip?Ha(i.minUnit,this.min,this.max,this._getLabelCapacity(o)):Kp(this,a.length,i.minUnit,this.min,this.max)),this._majorUnit=!n.major.enabled||this._unit==="year"?void 0:Xp(this._unit),this.initOffsets(s),t.reverse&&a.reverse(),Na(this,a,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let i=0,n=0,s,o;this.options.offset&&t.length&&(s=this.getDecimalForValue(t[0]),t.length===1?i=1-s:i=(this.getDecimalForValue(t[1])-s)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?n=o:n=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;i=$t(i,0,r),n=$t(n,0,r),this._offsets={start:i,end:n,factor:1/(i+1+n)}}_generate(){const t=this._adapter,i=this.min,n=this.max,s=this.options,o=s.time,r=o.unit||Ha(o.minUnit,i,n,this._getLabelCapacity(i)),a=it(s.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Jn(l)||l===!0,h={};let f=i,u,d;if(c&&(f=+t.startOf(f,"isoWeek",l)),f=+t.startOf(f,c?"day":r),t.diff(n,i,r)>1e5*a)throw new Error(i+" and "+n+" are too far apart with stepSize of "+a+" "+r);const _=s.ticks.source==="data"&&this.getDataTimestamps();for(u=f,d=0;u<n;u=+t.add(u,a,r),d++)za(h,u,_);return(u===n||s.bounds==="ticks"||d===1)&&za(h,u,_),Object.keys(h).sort((p,m)=>p-m).map(p=>+p)}getLabelForValue(t){const i=this._adapter,n=this.options.time;return n.tooltipFormat?i.format(t,n.tooltipFormat):i.format(t,n.displayFormats.datetime)}_tickFormatFunction(t,i,n,s){const o=this.options,r=o.ticks.callback;if(r)return lt(r,[t,i,n],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&a[l],f=c&&a[c],u=n[i],d=c&&f&&u&&u.major;return this._adapter.format(t,s||(d?f:h))}generateTickLabels(t){let i,n,s;for(i=0,n=t.length;i<n;++i)s=t[i],s.label=this._tickFormatFunction(s.value,i,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const i=this._offsets,n=this.getDecimalForValue(t);return this.getPixelForDecimal((i.start+n)*i.factor)}getValueForPixel(t){const i=this._offsets,n=this.getDecimalForPixel(t)/i.factor-i.end;return this.min+n*(this.max-this.min)}_getLabelSize(t){const i=this.options.ticks,n=this.ctx.measureText(t).width,s=ue(this.isHorizontal()?i.maxRotation:i.minRotation),o=Math.cos(s),r=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:n*o+a*r,h:n*r+a*o}}_getLabelCapacity(t){const i=this.options.time,n=i.displayFormats,s=n[i.unit]||n.millisecond,o=this._tickFormatFunction(t,0,Na(this,[t],this._majorUnit),s),r=this._getLabelSize(o),a=Math.floor(this.isHorizontal()?this.width/r.w:this.height/r.h)-1;return a>0?a:1}getDataTimestamps(){let t=this._cache.data||[],i,n;if(t.length)return t;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(i=0,n=s.length;i<n;++i)t=t.concat(s[i].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let i,n;if(t.length)return t;const s=this.getLabels();for(i=0,n=s.length;i<n;++i)t.push(Ba(this,s[i]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return Du(t.sort(Yp))}}Z(as,"id","time"),Z(as,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});function An(e,t,i){let n=0,s=e.length-1,o,r,a,l;i?(t>=e[n].pos&&t<=e[s].pos&&({lo:n,hi:s}=oo(e,"pos",t)),{pos:o,time:a}=e[n],{pos:r,time:l}=e[s]):(t>=e[n].time&&t<=e[s].time&&({lo:n,hi:s}=oo(e,"time",t)),{time:o,pos:a}=e[n],{time:r,pos:l}=e[s]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class ja extends as{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),i=this._table=this.buildLookupTable(t);this._minPos=An(i,this.min),this._tableRange=An(i,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:i,max:n}=this,s=[],o=[];let r,a,l,c,h;for(r=0,a=t.length;r<a;++r)c=t[r],c>=i&&c<=n&&s.push(c);if(s.length<2)return[{time:i,pos:0},{time:n,pos:1}];for(r=0,a=s.length;r<a;++r)h=s[r+1],l=s[r-1],c=s[r],Math.round((h+l)/2)!==c&&o.push({time:c,pos:r/(a-1)});return o}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const i=this.getDataTimestamps(),n=this.getLabelTimestamps();return i.length&&n.length?t=this.normalize(i.concat(n)):t=i.length?i:n,t=this._cache.all=t,t}getDecimalForValue(t){return(An(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const i=this._offsets,n=this.getDecimalForPixel(t)/i.factor-i.end;return An(this._table,n*this._tableRange+this._minPos,!0)}}Z(ja,"id","timeseries"),Z(ja,"defaults",as.defaults);var wi;(function(e){e.ChartRendered="chart:rendered",e.ChartUpdated="chart:updated",e.ChartDestroyed="chart:destroyed",e.LabelsUpdated="labels:updated"})(wi||(wi={}));function Tn(e,t,i,n){e(t,i),n!==void 0&&n.emit(wi.ChartRendered)}function Zp(e,t){e.update(),t!==void 0&&t.emit(wi.ChartUpdated)}function Dn(e,t){e.destroy(),t!==void 0&&t.emit(wi.ChartDestroyed)}function Jp(e,t){const i={labels:typeof e.labels>"u"?[]:[...e.labels],datasets:[]};return Pc(i,{...e},t),i}function Pc(e,t,i){const n=[];e.datasets=t.datasets.map(s=>{const o=e.datasets.find(r=>r[i]===s[i]);return!o||!s.data||n.includes(o)?{...s}:(n.push(o),Object.assign(o,s),o)})}function Qp(e,t,i){e.data.labels=t,i!==void 0&&i.emit(wi.LabelsUpdated)}function Gp(e,t){e.options={...t}}function tm(e,t){const i=e.datasets.map(s=>s.label),n=t.datasets.map(s=>s.label);return t.datasets.length===e.datasets.length&&i.every((s,o)=>s===n[o])}const em="Please remove the <template></template> tags from your chart component. See https://vue-chartjs.org/guide/#vue-single-file-components",im="Update ERROR: chart instance not found",nm=(e,t,i)=>Nh({props:{chartData:{type:Object,required:!0},chartOptions:{type:Object,default:()=>{}},datasetIdKey:{type:String,default:"label"},chartId:{type:String,default:e},width:{type:Number,default:400},height:{type:Number,default:400},cssClasses:{type:String,default:""},styles:{type:Object,default:()=>{}},plugins:{type:Array,default:()=>[]}},setup(n,s){ho.register(i);const o=xh(null),r=Gt(null);function a(f,u){if(o.value!==null&&Dn(X(o.value),s),r.value===null)throw new Error(em);{const d=Jp(f,n.datasetIdKey),_=r.value.getContext("2d");_!==null&&(o.value=new ho(_,{type:t,data:zi(f)?new Proxy(d,{}):d,options:u,plugins:n.plugins}))}}function l(f,u){const d=zi(f)?X(f):{...f},_=zi(u)?X(u):{...u};if(Object.keys(_).length>0){const p=X(o.value);tm(d,_)&&p!==null?(Pc(p==null?void 0:p.data,d,n.datasetIdKey),d.labels!==void 0&&Qp(p,d.labels,s),h()):(p!==null&&Dn(p,s),Tn(a,n.chartData,n.chartOptions,s))}else o.value!==null&&Dn(X(o.value),s),Tn(a,n.chartData,n.chartOptions,s)}function c(f){const u=X(o.value);u!==null?(Gp(u,f),h()):Tn(a,n.chartData,n.chartOptions,s)}function h(){const f=X(o.value);f!==null?Zp(f,s):console.error(im)}return Ae(()=>n.chartData,(f,u)=>l(f,u),{deep:!0}),Ae(()=>n.chartOptions,f=>c(f),{deep:!0}),Do(()=>{"datasets"in n.chartData&&n.chartData.datasets.length>0&&Tn(a,n.chartData,n.chartOptions,s)}),Lo(()=>{o.value!==null&&Dn(X(o.value),s)}),s.expose({chart:o,updateChart:h}),()=>Mr("div",{style:n.styles,class:n.cssClasses},[Mr("canvas",{id:n.chartId,width:n.width,height:n.height,ref:r})])}}),sm=nm("pie-chart","pie",lo),om={__name:"ErrorDetail",props:{errors:Object},setup(e){const t=e,i={required:"\u8BE5\u53C2\u6570\u4E3A\u5FC5\u987B\u4E0A\u4F20\u53C2\u6570\uFF0C\u4F46\u672A\u63D0\u4F9B",nullable:"\u8BE5\u53C2\u6570\u4E0D\u80FD\u4E3ANull"},n=Wn(()=>Object.keys(t.errors).filter(s=>!!i[s]).map(s=>i[s]));return(s,o)=>(G(),ti($l,{"label-width":150,columns:2},{default:At(()=>[nt(gi,{label:"\u53C2\u6570\u540D\u79F0"},{default:At(()=>[Je(St(e.errors.Name),1)]),_:1}),nt(gi,{label:"\u53C2\u6570\u4F4D\u7F6E"},{default:At(()=>[Je(St(e.errors.In),1)]),_:1}),(G(!0),ct(vt,null,Qi(Bt(n),(r,a)=>(G(),ti(gi,{label:"\u9519\u8BEF"+(a+1),key:a,columns:2,class:"danger"},{default:At(()=>[Je(St(r),1)]),_:2},1032,["label"]))),128))]),_:1}))}};const rm=e=>(bl("data-v-998e2cc3"),e=e(),_l(),e),am=rm(()=>K("thead",null,[K("tr",null,[K("th",null,"Client"),K("th",null,"URL"),K("th",null,"\u8C03\u7528\u65B9\u6CD5"),K("th",null,"\u72B6\u6001\u7801"),K("th",null,"\u662F\u5426\u5408\u6CD5\u8BBF\u95EE"),K("th",null,"\u53C2\u6570\u9519\u8BEF")])],-1)),lm=["onClick"],cm={key:0,class:"success"},hm={key:1,class:"danger"},fm={key:0},um=["onClick"],dm={key:1},gm={key:0,class:"detail"},pm={colspan:"6"},mm={colspan:"6"},bm={class:"flex end mr-1"},_m={class:"current-page"},xm={__name:"RecordTable",props:{records:Array,currentPage:Number,countPerPage:Number,total:Number},emits:"goPrev",setup(e,{emit:t}){const i=e,n=Gt({});Ae(()=>i.records,l=>{n.value={}});function s(l){t("selectClient",l)}function o(){t("goPrev")}function r(){t("goNext")}function a(l){return Object.keys(l).length}return(l,c)=>(G(),ct("table",null,[am,K("tbody",null,[(G(!0),ct(vt,null,Qi(e.records,(h,f)=>(G(),ct(vt,{key:f},[K("tr",null,[K("td",null,[K("a",{href:"javascript:void(0);",onClick:u=>s(h.Client)},St(h.Client),9,lm)]),K("td",null,St(h.Url),1),K("td",null,St(h.Method),1),K("td",null,St(h.StatusCode),1),K("td",null,[h.Legal?(G(),ct("span",cm,"\u5408\u89C4")):(G(),ct("span",hm,"\u4E0D\u5408\u89C4"))]),h.ParameterErrors?(G(),ct("td",fm,[K("a",{href:"javascript:void(0);",class:"danger",onClick:u=>n.value[f]=!n.value[f]},St(a(h.ParameterErrors))+"\u4E2A\u53C2\u6570\u6709\u9519",9,um)])):(G(),ct("td",dm,"\u65E0"))]),n.value[f]?(G(),ct("tr",gm,[K("td",pm,[(G(!0),ct(vt,null,Qi(h.ParameterErrors,(u,d)=>(G(),ti(om,{errors:u,key:d},null,8,["errors"]))),128))])])):Es("",!0)],64))),128))]),K("tfoot",null,[K("tr",null,[K("td",mm,[K("div",bm,[e.currentPage>0?(G(),ct("button",{key:0,onClick:o,variant:"success"},"<")):Es("",!0),K("span",_m,St(e.currentPage+1),1),e.total-e.currentPage*e.countPerPage>e.countPerPage?(G(),ct("button",{key:1,onClick:r,variant:"success"},">")):Es("",!0)])])])])]))}},ym=Re(xm,[["__scopeId","data-v-998e2cc3"]]);const Jo=e=>(bl("data-v-eb4e13fb"),e=e(),_l(),e),vm={key:0},wm={key:1},Mm=Jo(()=>K("option",{value:"10"},"\u6BCF\u987510\u6761",-1)),km=Jo(()=>K("option",{value:"20"},"\u6BCF\u987520\u6761",-1)),Cm=Jo(()=>K("option",{value:"50"},"\u6BCF\u987550\u6761",-1)),Sm=[Mm,km,Cm],Pm={__name:"RecordPanel",props:{label:String,records:Array},emits:["select-client"],setup(e,{emit:t}){const i=e,n=ke(()=>i.records.slice(o.value*s.value,(o.value+1)*s.value)),s=Gt(50),o=Gt(0);function r(){o.value=o.value-1}function a(){o.value=o.value+1}function l(c){t("select-client",c)}return(c,h)=>(G(),ti(so,{label:e.label},{toolbar:At(()=>[K("button",{variant:"success",class:"mr-1",onClick:h[0]||(h[0]=(...f)=>c.setStaticFilter&&c.setStaticFilter(...f))},[c.staticFiltered?(G(),ct("span",vm,"\u4E0D\u8FC7\u6EE4\u9759\u6001\u8BBF\u95EE")):(G(),ct("span",wm,"\u8FC7\u6EE4\u9759\u6001\u8BBF\u95EE"))]),Cl(K("select",{name:"count_per_page",id:"","onUpdate:modelValue":h[1]||(h[1]=f=>s.value=f),variant:"success"},Sm,512),[[Kf,s.value]])]),default:At(()=>[nt(ym,{records:Bt(n),total:e.records.length,"current-page":o.value,"count-per-page":s.value,onGoPrev:r,onGoNext:a,onSelectClient:l},null,8,["records","total","current-page","count-per-page"])]),_:1},8,["label"]))}},Wa=Re(Pm,[["__scopeId","data-v-eb4e13fb"]]);const Om={class:"clients"},Am=["onClick"],Tm={__name:"DashBoard",setup(e){ho.register(vp,Ap,xp,zn,uo);const t=ke(()=>analysis_result),i=Gt(null),n=ke(()=>{var m=[],x=[];return l.value?(m=["IllegalCount","LegalCount"],x=o.value.reduce((w,y)=>(y.Legal?w[1]++:w[0]++,w),[0,0])):(m=Object.keys(t.value.Brief),x=Object.values(t.value.Brief)),{labels:m,datasets:[{backgroundColor:["#16c566","#f2481c","#006eff","#DD1B16"],data:x}]}}),s=Gt(null),o=Gt([]),r=ke(()=>{l.value?o.value=t.value.Detail.filter(x=>{var w=c.find(y=>x.Url.endsWith(y));return!w}):o.value=t.value.Detail;var m;return i.value?m=o.value.filter(x=>!i.value||i.value=="LegalCount"&&x.Legal||i.value=="IllegalCount"&&!x.Legal):m=o.value,m}),a=Gt(null),l=ke({get(){if(a.value==null){var m=localStorage.getItem("static_filtered");a.value=JSON.parse(m)}return a.value},set(m){a.value=m;var x=JSON.stringify(m);localStorage.setItem("static_filtered",x)}}),c=[".js",".png",".jpg",".jpeg",".js",".css",".html","svg"],h=Gt("brief"),f=Gt(null),u=ke(()=>r.value.filter(m=>m.Client==f.value));To(()=>{window.onpopstate=m=>{var w,y,P;console.log(m);var x=(P=(y=(w=m.path)==null?void 0:w[0])==null?void 0:y.location)==null?void 0:P.hash.replace("#","");x||(x="brief"),console.log(x),h.value=x,m.state&&m.client&&(f.value=m.client)}});function d(m){const x=s.value.chart.getElementsAtEventForMode(m,"nearest",{intersect:!0},!0);if(x.length){const w=x[0],y=s.value.chart.data.labels[w.index];s.value.chart.data.datasets[w.datasetIndex].data[w.index],i.value==y?i.value=null:i.value=y}}function _(m){history.pushState({client:m},"","#clients"),h.value="clients",f.value=m}function p(m){history.pushState({},"","#"+m),h.value=m}return(m,x)=>(G(),ti(su,{modelValue:h.value,"onUpdate:modelValue":x[0]||(x[0]=w=>h.value=w),onInput:p},{default:At(()=>[nt(Fs,{label:"\u7EDF\u8BA1\u7B80\u62A5",name:"brief"},{default:At(()=>[nt(so,{label:"\u8BBF\u95EE\u7EDF\u8BA1"},{default:At(()=>[nt(Bt(sm),{"chart-data":Bt(n),"chart-options":{onClick:d},width:"90%",height:"90%",class:"pie-chart",ref_key:"statPie",ref:s},null,8,["chart-data","chart-options"]),nt($l,{"label-width":120},{default:At(()=>[nt(gi,{label:"\u6570\u636E\u603B\u6761\u6570\uFF1A"},{default:At(()=>[Je(St(Bt(t).Detail.length)+"\u6761 ",1)]),_:1}),nt(gi,{label:"\u8FC7\u6EE4\u540E\u603B\u6761\u6570\uFF1A"},{default:At(()=>[Je(St(o.value.length)+"\u6761",1)]),_:1}),nt(gi,{label:"\u8BB0\u5F55\u5BA2\u6237\u6570"},{default:At(()=>[Je(St(Bt(t).ClientCount)+"\u4E2A",1)]),_:1})]),_:1})]),_:1}),nt(Wa,{style:{flex:"1"},records:Bt(r),onSelectClient:_},null,8,["records"])]),_:1}),nt(Fs,{label:"\u5BA2\u6237\u62A5\u544A",name:"clients"},{default:At(()=>[nt(so,{label:"\u5BA2\u6237\u7AEF\u5217\u8868",style:{"max-width":"200px"}},{default:At(()=>[K("ul",Om,[(G(!0),ct(vt,null,Qi(Bt(t).Clients,(w,y)=>(G(),ct("li",{key:y,class:rn({active:y==f.value}),onClick:P=>f.value=y},St(y),11,Am))),128))])]),_:1}),nt(Wa,{style:{flex:"1"},records:Bt(u)},null,8,["records"])]),_:1}),nt(Fs,{label:"\u4E0D\u5408\u6CD5\u8BBF\u95EE"})]),_:1},8,["modelValue"]))}},Dm=Re(Tm,[["__scopeId","data-v-9706eb96"]]),Lm=K("header",null,[K("h1",null,"ApiCat OpenAPI\u65E5\u5FD7\u5206\u6790\u4FE1\u606F")],-1),Em={__name:"App",setup(e){return(t,i)=>(G(),ct(vt,null,[Lm,nt(Dm)],64))}};Jf(Em).mount("#app");

</script>
    <style>
.tabs-wrapper[data-v-9107e306]{flex:1;display:flex;flex-direction:column}.tabs-labels[data-v-9107e306]{display:flex;list-style:none;padding-inline-start:0;border-bottom:1px solid #ddd}.tabs-labels li[data-v-9107e306]{padding:10px}.tabs-labels li.active[data-v-9107e306]{border-bottom:3px solid var(--logcat-primary-color);margin-bottom:-2px}.contents[data-v-9107e306]{flex:1;display:flex;background:#f6f6f6}div.tab-detail[data-v-bb4504fd]{width:100%;display:flex}.items[data-v-8d0892c0]{display:flex;margin:10px;text-align:left;flex-wrap:wrap}div.label[data-v-65b10140]{display:inline-block;font-weight:700}div.panel[data-v-797b15cd]{min-height:300px;width:calc(33% - 20px);border:1px solid #f3f3f3;margin:10px;background:white;border-radius:6px}div.panel header[data-v-797b15cd]{background-color:#fff;border-bottom:1px solid #dedede;color:#2e2e2e;line-height:56px}div.panel .panel-body[data-v-797b15cd]{width:auto;height:auto}.current-page[data-v-998e2cc3]{display:block;background:lightgray;width:25px;line-height:2em;color:#fff;background-color:var(--logcat-success-color);border-left:1px solid white;height:calc(2em + 2px);border-right:1px solid white}tr.detail>td>*[data-v-998e2cc3]{border-radius:10px;background:#f9f9f9;margin:10px;padding:10px 50px}table[data-v-eb4e13fb]{width:100%;text-align:center;border:1px solid #f0f0f0}table tbody tr[data-v-eb4e13fb]:nth-child(2n){background:#f8f8f8}table tfoot[data-v-eb4e13fb],table thead[data-v-eb4e13fb]{background-color:#f1f1f1;height:3em}.pie-chart[data-v-9706eb96]{height:70%;width:70%;margin:1em auto auto}.clients[data-v-9706eb96]{list-style:none;padding-inline-start:0}.clients li[data-v-9706eb96]{padding:5px 10px}.clients li[data-v-9706eb96]:nth-child(2n+1){background-color:#f4f4f4}.clients li.active[data-v-9706eb96]{color:#666;background-color:var(--logcat-info-color-light)}:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--logcat-primary-color: #0970ff;--logcat-secondary-color: #6cc43f;--logcat-success-color: #16c566;--logcat-warning-color: #f5894e;--logcat-danger-color: #f2481c;--logcat-info-color: #00a3f0;--logcat-info-color-light: #d6f0fc;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;position:relative;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s}@media (hover: hover){a:hover{background-color:#00bd7e33}}@media (min-width: 1024px){body{display:grid}#app{display:flex;flex-direction:column;height:100%}header{height:56px;padding-left:30px;background-color:#333;color:#fff;display:flex;align-content:center}header>h1{font-size:1.5em;line-height:56px}}.flex{display:flex}.flex.between{justify-content:space-between}.flex.end{justify-content:flex-end}.inline{display:inline-flex;align-items:center}button{background-color:var(--logcat-primary-color);color:#fff;border-width:0;line-height:2em;padding:2px 10px;height:2.4em}button+button{margin-left:3px}select{color:#fff;line-height:2em;border:none;padding:.5em;height:2.4em}button[variant=success],select[variant=success]{background-color:var(--logcat-success-color)}.success{color:var(--logcat-success-color)}.danger{color:var(--logcat-danger-color)}button[variant=success]:hover{background-color:#16c56699;cursor:pointer}.mr-1{margin-right:1em}

</style>
  </head>
  <body>
    <div id="app"></div>
    
  </body>
</html>
`